Browse Source

Build pass on MacOS`

main
郑敬润 9 months ago
parent
commit
44685194da
  1. 9
      CMakeLists.txt
  2. 0
      include/read_xml.h
  3. 57
      lib/CMakeLists.txt
  4. BIN
      lib/WireRoutingLib.dylib
  5. 3
      src/xmlsql.cpp

9
CMakeLists.txt

@ -15,7 +15,7 @@ project(
#------------REQUIRED_4 C++------------#
# !!!使!!!使set_target_properties/set_property
# C++ 11(STRING) CMakeCache.txt
# C++ 17(STRING) CMakeCache.txt
set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard to use")
# CMake 使
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -76,7 +76,7 @@ add_subdirectory(lib) # 添加子目录,子目录中的CMakeLists.txt将会被
aux_source_directory(src SRC_DIR)
add_executable(
${PROJECT_NAME} # CMake 目标(target)
${SRC_DIR}
${SRC_DIR}
)
@ -89,12 +89,13 @@ if (WIN32)
target_link_libraries(
${PROJECT_NAME} PUBLIC
unofficial-tinyxml::unofficial-tinyxml
${CMAKE_SOURCE_DIR}/lib/Debug/WireRouting.lib
${CMAKE_SOURCE_DIR}/lib/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
)
endif()
@ -105,7 +106,7 @@ target_include_directories(
# PUBLIC
# PRIVATE
# INTERFACE
${PROJECT_NAME} PUBLIC
${PROJECT_NAME} PUBLIC
${PROJECT_BINARY_DIR} # config.h.in build
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/lib/include

0
include/ReadXML.h → include/read_xml.h

57
lib/CMakeLists.txt

@ -1,23 +1,52 @@
##------------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}")
add_library(WireRouting SHARED ${SRC_FILES_IN_LIB})
target_compile_definitions(WireRouting PUBLIC DMY_LIB_SHARED_BUILD)
target_compile_definitions(WireRouting PRIVATE WIREROUTINGDLL_EXPORTS)
add_library(WireRoutingLib SHARED ${SRC_FILES_IN_LIB})
INSTALL(TARGETS WireRouting DESTINATION ${CMAKE_SOURCE_DIR}/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})
SET_TARGET_PROPERTIES(
WireRouting 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 "WireRouting"
PREFIX ""
)
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(
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 ""
)
endif()
target_include_directories(
WireRouting PUBLIC
WireRoutingLib PUBLIC
${CMAKE_SOURCE_DIR}/lib/include
)

BIN
lib/WireRoutingLib.dylib

Binary file not shown.

3
src/xmlsql.cpp

@ -1,7 +1,7 @@
#include "Astar.h"
#include "Geometry.h"
#include "Intersection.h"
#include "readxml.h"
#include "read_xml.h"
#include "tinyxml.h"
@ -444,6 +444,7 @@ int main(int argc, char *argv[])
cerr << "Failed to parse OBJ file." << endl;
}
}
intersection_model = 0; //取消碰撞检测
// 读取卡箍点
vector<string> clipFileNames;

Loading…
Cancel
Save