判断当前是32位还是64位
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
......
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
......
endif()
添加库文件
target_link_libraries(YourProjectName
PRIVATE YourLibraryName
)
添加库文件目录(示例)
target_link_directories(YourProjectName
PRIVATE "C:/Program Files (x86)/MVS/Development/Libraries/win64"
)
添加include文件目录
target_include_directories(IntegrationConfTool
PRIVATE YourIncludeDirectory
)
判断Debug/Release
if(CMAKE_BUILD_TYPE MATCHES "Debug")
......
elseif(CMAKE_BUILD_TYPE MATCHES "Release")
......
else()
......
endif()
编译完成后拷贝文件到指定目录(示例)
set(COPY_DLL_TARGET_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../IntegrationConfTool/lib/x64")
set(COPY_HEADER_TARGET_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../IntegrationConfTool/include")
add_custom_command(TARGET IntergrationConfDll POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${COPY_DLL_TARGET_DIR}
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/IntergrationConfDll.lib" ${COPY_DLL_TARGET_DIR}
COMMAND ${CMAKE_COMMAND} -E make_directory ${COPY_HEADER_TARGET_DIR}
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/intergrationconfdll.h" ${COPY_HEADER_TARGET_DIR}
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/IntergrationConfDll_global.h" ${COPY_HEADER_TARGET_DIR}
)