g1g2hardwarechecker/CMakeLists.txt

78 lines
2.7 KiB
CMake
Raw Permalink Normal View History

2024-01-08 10:06:47 +00:00
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")