cmake_minimum_required (VERSION 2.8) project(G1G2ScannerChecker) file(GLOB DEV_LOG ${PROJECT_SOURCE_DIR}/Log/*.h ${PROJECT_SOURCE_DIR}/Log/*.cpp ${PROJECT_SOURCE_DIR}/Log/*.c) file(GLOB DEV_USB ${PROJECT_SOURCE_DIR}/USB/*.h ${PROJECT_SOURCE_DIR}/USB/*.cpp ${PROJECT_SOURCE_DIR}/USB/*.c) file(GLOB DEV_SCANNER ${PROJECT_SOURCE_DIR}/Scanner/*.h ${PROJECT_SOURCE_DIR}/Scanner/*.cpp ${PROJECT_SOURCE_DIR}/Scanner/*.c) file(GLOB UI ${PROJECT_SOURCE_DIR}/*.h ${PROJECT_SOURCE_DIR}/*.cpp ${PROJECT_SOURCE_DIR}/*.c) aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS) aux_source_directory(${PROJECT_SOURCE_DIR}/USB DIR_USB) aux_source_directory(${PROJECT_SOURCE_DIR}/Log DIR_LOG) aux_source_directory(${PROJECT_SOURCE_DIR}/Scanner DIR_SCANNER) set(DIR_RC G1G2HardwareChecker.rc) source_group("RC Files" FILES ${DIR_RC}) include_directories( ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/USB ${PROJECT_SOURCE_DIR}/Log ${PROJECT_SOURCE_DIR}/Scanner ${PROJECT_SOURCE_DIR}/3rdparty/libtiff/include ${PROJECT_SOURCE_DIR}/3rdparty/opencv/include ${PROJECT_SOURCE_DIR}/3rdparty/cryptoPP/include ${PROJECT_SOURCE_DIR}/3rdparty/comm/ ${PROJECT_SOURCE_DIR}/3rdparty/spdlog/ ) link_directories( ${PROJECT_SOURCE_DIR}/3rdparty/opencv/x86/staticlib/ ${PROJECT_SOURCE_DIR}/3rdparty/libtiff/ ${PROJECT_SOURCE_DIR}/3rdparty/cryptoPP/lib/x86/ ${PROJECT_SOURCE_DIR}/3rdparty/spdlog/lib/ ) MACRO(RW_LINK_3RD_PART_LIBRARY FULL_LIBRARY_NAME) link_libraries(optimized ${FULL_LIBRARY_NAME}) link_libraries(debug ${FULL_LIBRARY_NAME}d) ENDMACRO() RW_LINK_3RD_PART_LIBRARY(opencv_world3414) RW_LINK_3RD_PART_LIBRARY(IlmImf) RW_LINK_3RD_PART_LIBRARY(libjasper) RW_LINK_3RD_PART_LIBRARY(libjpeg-turbo) RW_LINK_3RD_PART_LIBRARY(libpng) RW_LINK_3RD_PART_LIBRARY(libtiff) RW_LINK_3RD_PART_LIBRARY(libwebp) RW_LINK_3RD_PART_LIBRARY(zlib) RW_LINK_3RD_PART_LIBRARY(ittnotify) #link_libraries(libwebp) RW_LINK_3RD_PART_LIBRARY(quirc) RW_LINK_3RD_PART_LIBRARY(cryptlib) RW_LINK_3RD_PART_LIBRARY(spdlog) add_definitions( -DCUSTOM_USBVIEW -D_CRT_SECURE_NO_WARNINGS -D_DIRECT_BUILD -D_NOT_USE -D_AFXDLL -D_UNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_CRT_NON_CONFORMING_SWPRINTFS -D_WIN32) IF(CMAKE_BUILD_TYPE MATCHES "Debug") SET(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:"MSVCRTd.lib;mfcs140ud.lib") ELSE() SET(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:"MSVCRT.lib;mfcs140u.lib") ENDIF() RW_LINK_3RD_PART_LIBRARY(mfcs140u) RW_LINK_3RD_PART_LIBRARY(MSVCRT) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") add_executable(${PROJECT_NAME} ${DIR_SRCS} ${DEV_USB} ${DEV_SCANNER} ${UI} ${DEV_LOG} ${DIR_RC} ) target_link_options(${PROJECT_NAME} PRIVATE "/entry:wWinMainCRTStartup") set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")