Browse Source

删除win平台cmake一些不必要的编译参数,修复vector报错

不报告C4819 warning
main
郑敬润 9 months ago
parent
commit
4afac19e75
  1. 4
      CMakeLists.txt
  2. 57
      lib/CMakeLists.txt
  3. BIN
      lib/Debug/WireRouting.exp
  4. BIN
      lib/Debug/WireRouting.lib
  5. BIN
      lib/WireRoutingLib.dylib

4
CMakeLists.txt

@ -89,13 +89,13 @@ if (WIN32)
target_link_libraries(
${PROJECT_NAME} PUBLIC
unofficial-tinyxml::unofficial-tinyxml
${CMAKE_SOURCE_DIR}/lib/Debug/WireRoutingLib.lib
${CMAKE_SOURCE_DIR}/build/Debug/WireRoutingLib.lib
)
else()
target_link_libraries(
${PROJECT_NAME} PUBLIC
/opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib
${CMAKE_SOURCE_DIR}/lib/WireRoutingLib.dylib
${CMAKE_SOURCE_DIR}/build/lib/WireRoutingLib.dylib
)
endif()

57
lib/CMakeLists.txt

@ -1,48 +1,33 @@
##------------REQUIRED_4 C++------------#
## !!!使!!!使set_target_properties/set_property
## C++ 17(STRING) CMakeCache.txt
#set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard to use")
## CMake 使
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
## 使 -std=c++11 -std=g++11
#set(CMAKE_CXX_EXTENSIONS OFF)
#set_target_properties()
aux_source_directory(${CMAKE_SOURCE_DIR}/lib/src SRC_FILES_IN_LIB)
message(STATUS "SRC_FILES_IN_LIB: ${SRC_FILES_IN_LIB}")
# C4819 warning
add_compile_options(/wd4819)
add_library(WireRoutingLib SHARED ${SRC_FILES_IN_LIB})
if (APPLE)
set_target_properties(
WireRoutingLib PROPERTIES
OUTPUT_NAME "WireRoutingLib"
PREFIX ""
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
get_target_property(CXX_STD_VER WireRoutingLib CXX_STANDARD)
message(STATUS "C++ version using: " ${CXX_STD_VER})
# WIREROUTINGDLL_EXPORTSWireRoutingLibexport
target_compile_definitions(WireRoutingLib PRIVATE WIREROUTINGDLL_EXPORTS)
add_custom_command(
TARGET WireRoutingLib POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/build/lib/WireRoutingLib.dylib ${CMAKE_SOURCE_DIR}/lib
)
elseif (WIN32)
target_compile_definitions(WireRoutingLib PUBLIC DMY_LIB_SHARED_BUILD)
target_compile_definitions(WireRoutingLib PRIVATE WireRoutingLibDLL_EXPORTS)
INSTALL(TARGETS WireRoutingLib DESTINATION ${CMAKE_SOURCE_DIR}/lib)
SET_TARGET_PROPERTIES(
set_target_properties(
WireRoutingLib PROPERTIES
LINKER_LANGUAGE C
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib
OUTPUT_NAME "WireRoutingLib"
PREFIX ""
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
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()

BIN
lib/Debug/WireRouting.exp

Binary file not shown.

BIN
lib/Debug/WireRouting.lib

Binary file not shown.

BIN
lib/WireRoutingLib.dylib

Binary file not shown.
Loading…
Cancel
Save