Browse Source

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

不报告C4819 warning
main
郑敬润 9 months ago
parent
commit
4afac19e75
  1. 4
      CMakeLists.txt
  2. 45
      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( target_link_libraries(
${PROJECT_NAME} PUBLIC ${PROJECT_NAME} PUBLIC
unofficial-tinyxml::unofficial-tinyxml unofficial-tinyxml::unofficial-tinyxml
${CMAKE_SOURCE_DIR}/lib/Debug/WireRoutingLib.lib ${CMAKE_SOURCE_DIR}/build/Debug/WireRoutingLib.lib
) )
else() else()
target_link_libraries( target_link_libraries(
${PROJECT_NAME} PUBLIC ${PROJECT_NAME} PUBLIC
/opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib /opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib
${CMAKE_SOURCE_DIR}/lib/WireRoutingLib.dylib ${CMAKE_SOURCE_DIR}/build/lib/WireRoutingLib.dylib
) )
endif() endif()

45
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) aux_source_directory(${CMAKE_SOURCE_DIR}/lib/src SRC_FILES_IN_LIB)
message(STATUS "SRC_FILES_IN_LIB: ${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}) add_library(WireRoutingLib SHARED ${SRC_FILES_IN_LIB})
if (APPLE) # WIREROUTINGDLL_EXPORTSWireRoutingLibexport
set_target_properties( target_compile_definitions(WireRoutingLib PRIVATE WIREROUTINGDLL_EXPORTS)
set_target_properties(
WireRoutingLib PROPERTIES WireRoutingLib PROPERTIES
OUTPUT_NAME "WireRoutingLib" OUTPUT_NAME "WireRoutingLib"
PREFIX "" PREFIX ""
CXX_STANDARD 17 CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF CXX_EXTENSIONS OFF
) )
get_target_property(CXX_STD_VER WireRoutingLib CXX_STANDARD) get_target_property(CXX_STD_VER WireRoutingLib CXX_STANDARD)
message(STATUS "C++ version using: " ${CXX_STD_VER}) message(STATUS "C++ version using: " ${CXX_STD_VER})
add_custom_command( if (WIN32)
TARGET WireRoutingLib POST_BUILD # INSTALL(TARGETS WireRoutingLib DESTINATION ${CMAKE_SOURCE_DIR}/lib)
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 WireRoutingLib PROPERTIES
LINKER_LANGUAGE C # LINKER_LANGUAGE C
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build
OUTPUT_NAME "WireRoutingLib"
PREFIX ""
) )
endif() 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