aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..483494a
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,30 @@
+file(GLOB cpp_files CONFIGURE_DEPENDS "*.cpp")
+file(GLOB header_files CONFIGURE_DEPENDS "*.h" "*.hpp")
+file(GLOB rc_files CONFIGURE_DEPENDS "*.rc")
+add_executable(privilege_check WIN32 ${cpp_files} ${header_files} ${rc_files})
+
+if(MSVC)
+ target_compile_definitions(privilege_check PRIVATE _UNICODE UNICODE)
+endif()
+
+# MinGW-w64 is assumed when MINGW is triggered.
+# Not sure if that matters a great deal.
+
+if(MINGW)
+ target_compile_options(privilege_check PRIVATE -municode)
+ target_link_libraries(privilege_check PRIVATE -municode)
+endif()
+
+# NTDDI_VERSION & _WIN32_WINNT have to be defined in order to use the UAC
+# features (available on Vista and later):
+# https://msdn.microsoft.com/en-us/library/aa383745.aspx
+if(MINGW)
+ target_compile_definitions(privilege_check PRIVATE
+ NTDDI_VERSION=NTDDI_VISTA
+ _WIN32_WINNT=_WIN32_WINNT_VISTA)
+endif()
+
+install(TARGETS privilege_check RUNTIME DESTINATION bin)
+if(MSVC)
+ install(FILES $<TARGET_PDB_FILE:privilege_check> DESTINATION bin OPTIONAL)
+endif()