Browse Source

配置make install路径

main
郑敬润 1 year ago
parent
commit
0727fa2ce7
  1. 18
      CMakeLists.txt
  2. 25
      lib/CMakeLists.txt

18
CMakeLists.txt

@ -56,19 +56,9 @@ message(STATUS "Self added CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
# cmakeCMAKE_MODULE_PATH include 使
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
message(STATUS "Self added CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
# includeCMAKE_MODULE_PATH.cmake
# include(libigl)
# Libigllibigl/cmake/libigl.cmake
# igl_include(core) # igl_include(core) igl::core
# igl_include(glfw) # igl_include_optional(glfw) Enable the target igl::glfw
add_subdirectory(lib) # CMakeLists.txt
# DLL
# file(COPY ${CMAKE_SOURCE_DIR}/lib/Debug/WireRouting.dll DESTINATION ${PROJECT_BINARY_DIR}/Debug)
# CMakeLists.txt
add_subdirectory(lib)
#------------REQUIRED_3 ------------#
# 使fileGLOB CMakeMake
@ -91,10 +81,10 @@ if (WIN32)
unofficial-tinyxml::unofficial-tinyxml
${CMAKE_SOURCE_DIR}/build/Debug/WireRoutingLib.lib
)
else()
elseif (APPLE)
target_link_libraries(
${PROJECT_NAME} PUBLIC
/opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib
${pkgcfg_lib_TINYXML_tinyxml}
${CMAKE_SOURCE_DIR}/build/lib/WireRoutingLib.dylib
)
endif()

25
lib/CMakeLists.txt

@ -1,8 +1,12 @@
if (WIN32)
# MSVCC4819 warning
add_compile_options(/wd4819)
endif()
aux_source_directory(${CMAKE_SOURCE_DIR}/lib/src SRC_FILES_IN_LIB)
file(GLOB INCLUDE_FILES_IN_LIB "${CMAKE_SOURCE_DIR}/lib/include/*.h")
message(STATUS "SRC_FILES_IN_LIB: ${SRC_FILES_IN_LIB}")
# C4819 warning
add_compile_options(/wd4819)
message(STATUS "INCLUDE_FILES_IN_LIB: ${INCLUDE_FILES_IN_LIB}")
add_library(WireRoutingLib SHARED ${SRC_FILES_IN_LIB})
@ -20,16 +24,11 @@ set_target_properties(
get_target_property(CXX_STD_VER WireRoutingLib CXX_STANDARD)
message(STATUS "C++ version using: " ${CXX_STD_VER})
if (WIN32)
# INSTALL(TARGETS WireRoutingLib DESTINATION ${CMAKE_SOURCE_DIR}/lib)
SET_TARGET_PROPERTIES(
WireRoutingLib PROPERTIES
# LINKER_LANGUAGE C
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
)
endif()
# make install
set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/publish" CACHE PATH "Install path prefix" FORCE)
install(TARGETS WireRoutingLib ARCHIVE DESTINATION lib)
install(TARGETS WireRoutingLib LIBRARY DESTINATION lib)
install(FILES ${INCLUDE_FILES_IN_LIB} DESTINATION lib/include)
target_include_directories(
WireRoutingLib PUBLIC

Loading…
Cancel
Save