diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..29d7a45 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,178 @@ +# common.pri +# DEFINES += _CRT_NON_CONFORMING_SWPRINTFS + +# config.pri +# win32 { +# DEFINES += _SECURE_SCL=0 _SCL_SECURE_NO_WARNINGS +# DEFINES += _CRT_SECURE_NO_WARNINGS +# QMAKE_CXXFLAGS += -wd4819 +# } + +# config.pri +# win32 { +# CONFIG(nocrt) { +# message(CONFIG nocrt) +# QMAKE_CFLAGS -= /MD /MDd +# QMAKE_CFLAGS_DEBUG -= /MD /MDd +# QMAKE_CFLAGS_RELEASE -= /MD /MDd +# QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= /MD /MDd +# QMAKE_CXXFLAGS -= /MD /MDd +# QMAKE_CXXFLAGS_DEBUG -= /MD /MDd +# QMAKE_CXXFLAGS_RELEASE -= /MD /MDd +# QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= /MD /MDd +# } +# CONFIG(eha) { +# message(CONFIG eha) +# QMAKE_CXXFLAGS_STL_ON -= /EHsc +# QMAKE_CXXFLAGS_EXCEPTIONS_ON -= /EHsc +# QMAKE_CXXFLAGS_STL_ON += /EHa +# QMAKE_CXXFLAGS_EXCEPTIONS_ON += /EHa +# } +# CONFIG(noeh) { +# message(CONFIG noeh) +# QMAKE_CXXFLAGS += /GR- +# QMAKE_CXXFLAGS_RTTI_ON -= /GR +# QMAKE_CXXFLAGS_STL_ON -= /EHsc +# QMAKE_CXXFLAGS_EXCEPTIONS_ON -= /EHsc +# CONFIG(dll) { +# QMAKE_LFLAGS += /ENTRY:"DllMain" +# } +# } +# CONFIG(nosafeseh) { +# message(CONFIG nosafeseh) +# QMAKE_LFLAGS += -safeseh:no +# } +# } + +# dllconfig.pri +# win32 { +# CONFIG(eh): DEFINES += ITH_HAS_SEH +# CONFIG(noeh): DEFINES -= ITH_HAS_SEH +# } + +cmake_minimum_required(VERSION 2.8) + +set(CMAKE_CONFIGURATION_TYPES Debug Release) + +project(ITHVNR) + +set(WDK_HOME "C:\\WinDDK\\7600.16385.1" CACHE FILEPATH "Windows Driver Kit path") +set(CMAKE_INSTALL_PREFIX "" CACHE FILEPATH "installation path") + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/Debug") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/Debug") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release") + +set(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON) + +set(CPACK_GENERATOR "ZIP") +set(CPACK_PACKAGE_VERSION_MAJOR 3) +set(CPACK_PACKAGE_VERSION_MINOR 4152) +set(CPACK_PACKAGE_VERSION_PATCH 0) +set(CPACK_SOURCE_GENERATOR "ZIP") +set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\\\.svn/;/\\\\.bzr/;/\\\\.hg/;/\\\\.git/;\\\\.swp$;\\\\.#;/#" ".*\\\\.user$" "\\\\.gitignore$" "\\\\.gitmodules$" "\\\\.git$") +include(CPack) + +add_compile_options( + #/Zc:auto # config.pri + /wd4819 # config.pri + /MP + /GS- +# $<$:/MT> +# $<$:/MTd> +) + +add_definitions( + -D_SECURE_SCL=0 # config.pri + -D_SCL_SECURE_NO_WARNINGS # config.pri + -D_CRT_SECURE_NO_WARNINGS # config.pri + -DUNICODE # config.pri + -D_UNICODE + -D_CRT_NON_CONFORMING_SWPRINTFS # common.pri + -DITH_HAS_CRT +) + +include_directories(${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/vnr ${CMAKE_BINARY_DIR}/gui) + +set(common_src + vnr/ith/common/const.h + vnr/ith/common/defs.h + vnr/ith/common/except.h + vnr/ith/common/growl.h + vnr/ith/common/memory.h + vnr/ith/common/types.h +) + +set(resource_src + gui/ITHVNR.rc + gui/icon1.ico +) + +set(ithvnr_src + gui/command.cpp + gui/CustomFilter.cpp + gui/CustomFilter.h + gui/ITH.h + gui/language.cpp + gui/language.h + gui/main.cpp + gui/ProcessWindow.cpp + gui/ProcessWindow.h + gui/Profile.cpp + gui/Profile.h + gui/ProfileManager.cpp + gui/ProfileManager.h + gui/pugiconfig.hpp + gui/pugixml.cpp + gui/pugixml.hpp + gui/resource.h + gui/utility.cpp + gui/utility.h + ${CMAKE_BINARY_DIR}/gui/version.h + gui/version.h.in + gui/window.cpp + gui/window.h + gui/TextBuffer.cpp + gui/TextBuffer.h + ${common_src} + ${resource_src} +) + +source_group("common" FILES ${common_src}) + +source_group("Resource Files" FILES ${resource_src}) + +add_executable(${PROJECT_NAME} ${ithvnr_src}) + +add_subdirectory(vnr) + +set_target_properties(${PROJECT_NAME} PROPERTIES + LINK_FLAGS "/SUBSYSTEM:WINDOWS /MANIFESTDEPENDENCY:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"" +) + +target_compile_definitions(${PROJECT_NAME} + PRIVATE + PSAPI_VERSION=1 + DEFAULT_MM +) + +target_link_libraries(${PROJECT_NAME} + vnrhost + vnrsys + ${WDK_HOME}/lib/wxp/i386/ntdll.lib + comctl32.lib + psapi.lib +) + +target_compile_options(${PROJECT_NAME} + PRIVATE + /EHsc +) + +install(TARGETS ${PROJECT_NAME} + DESTINATION . + CONFIGURATIONS Release +) + +configure_file(gui/version.h.in gui/version.h)