From c83b63a3bd4003fc739788696c16e7d3c2abd06f Mon Sep 17 00:00:00 2001 From: ws Date: Tue, 22 Apr 2025 23:14:35 +0800 Subject: [PATCH] update cmakelist --- .gitignore | 1 + ArgsParser/CMakeLists.txt | 12 ++++++++---- CMakeLists.txt | 25 ++++++++++--------------- libSyntax/CMakeLists.txt | 1 - 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 0d88556..6527b8c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ x64/* .fake .DS_Store bin/* +build/* diff --git a/ArgsParser/CMakeLists.txt b/ArgsParser/CMakeLists.txt index a218c28..fa9be11 100644 --- a/ArgsParser/CMakeLists.txt +++ b/ArgsParser/CMakeLists.txt @@ -1,16 +1,20 @@ cmake_minimum_required(VERSION 3.10) - project(ArgsParser CXX) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_PREFIX_PATH "~/Qt5.12.4/5.12.4/clang_64/lib/cmake") find_package(Qt5 COMPONENTS Core REQUIRED) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) -set(CMAKE_INCLUDE_CURRENT_DIR ON) -add_library(ArgsParser argsparser.cpp) +add_library(ArgsParser SHARED + argsparser.cpp +) -set(CMAKE_CXX_STANDARD 20) +set_target_properties(ArgsParser PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${RUNTIME_PATH}") +set_target_properties(ArgsParser PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${RUNTIME_PATH}") +set_target_properties(ArgsParser PROPERTIES OUTPUT_NAME "ArgsParser.${BUILD_TYPE_MARK}") +target_compile_definitions(ArgsParser PUBLIC ARGSPARSER_LIB) target_link_libraries(ArgsParser Qt5::Core) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16923a0..e0fd86a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,22 +1,17 @@ cmake_minimum_required(VERSION 3.10) - project(WsNovelParser) set(CMAKE_PREFIX_PATH "~/Qt5.12.4/5.12.4/clang_64/lib/cmake") -add_subdirectory(./ArgsParser) -add_library(libArgsParserIn SHARED IMPORTED) -target_include_directories(libArgsParserIn INTERFACE "${SOLUTION_DIR}/ArgsParser") -set_target_properties(libArgsParserIn PROPERTIES - IMPORTED_IMPLIB_DEBUG "${SOLUTION_DIR}/bin/lib/ArgsParser.0.lib" - IMPORTED_IMPLIB_RELEASE "${SOLUTION_DIR}/bin/lib/ArgsParser.1.lib" -) - -add_subdirectory(./libWords) +# 准备开发环境 ====================================== +set(BUILD_TYPE_MARK "$,dbg,rel>") +set(SOLUTION_ROOT "${CMAKE_CURRENT_LIST_DIR}") +set(RUNTIME_PATH "${CMAKE_CURRENT_LIST_DIR}/out") -add_executable(nsc - ./WsNovelParser/main.cpp - ./WsNovelParser/astprint.cpp - ./WsNovelParser/novelparser.cpp -) \ No newline at end of file +# 配置开发环境 ====================================== +find_package(Qt5 COMPONENTS Core Xml REQUIRED) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +add_subdirectory(./ArgsParser) \ No newline at end of file diff --git a/libSyntax/CMakeLists.txt b/libSyntax/CMakeLists.txt index 0cfcbe2..fa02082 100644 --- a/libSyntax/CMakeLists.txt +++ b/libSyntax/CMakeLists.txt @@ -1,5 +1,4 @@ cmake_minimum_required(VERSION 3.10) - project(libSyntax) set(CMAKE_PREFIX_PATH "~/Qt5.12.4/5.12.4/clang_64/lib/cmake")