From 6a3e65ca40c47a56e60fd67a115d045ade4183db Mon Sep 17 00:00:00 2001 From: Nanako <469449812@qq.com> Date: Thu, 16 May 2024 20:30:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E5=86=99wxWidget=20Hello=20World?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=20=E5=B0=86=E8=8E=B7=E5=8F=96=E6=BA=90?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=87=BD=E6=95=B0=E7=A7=BB=E5=88=B0=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E7=9A=84cmake=E6=96=87=E4=BB=B6=20=E7=BC=96=E5=86=99?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E7=9B=B8=E5=85=B3=E5=AE=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 56 ++------------------------------------------- core/CMakeLists.txt | 9 ++++++++ 2 files changed, 11 insertions(+), 54 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a720d2..5176cf2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,60 +1,7 @@ cmake_minimum_required(VERSION 3.5) project(arona_core) -function(retrieve_files path out_files) - message(STATUS "Retrieving files in ${path}") - - # 递归查找文件夹下的 .h .hpp. ini 文件保存到 HEAD_FILES - file(GLOB_RECURSE HEAD_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.h ${path}/*.hpp ${path}/*.ini) - - # 递归查找文件夹下的 *.cpp *.c 文件保存到 SRC_FILES - file(GLOB_RECURSE SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.cpp ${path}*.c ${path}*.ixx) - - # 将 HEDADER_FILES 和 SRC_FILES 保存到 ALL_FILES 变量 - set(ALL_FILES ${HEAD_FILES} ${SRC_FILES}) - - set(RESULT "") - - # 对 ALL_FILES 变量里面的所有文件分类(保留资源管理器的目录结构) - foreach(fileItem ${ALL_FILES}) - # Get the directory of the source file - get_filename_component(PARENT_DIR "${fileItem}" DIRECTORY) - - # 用于检查平台的条件 - if(PARENT_DIR STREQUAL "windows") - if(WIN32) - set(RESULT "${RESULT};${fileItem}") - else() - continue() - endif() - elseif(PARENT_DIR STREQUAL "linux") - if(UNIX AND NOT APPLE) - set(RESULT "${RESULT};${fileItem}") - else() - continue() - endif() - elseif(PARENT_DIR STREQUAL "mac") - if(APPLE) - set(RESULT "${RESULT};${fileItem}") - else() - continue() - endif() - else() - # 如果文件夹名称不是平台,则始终包含 - set(RESULT "${RESULT};${fileItem}") - endif() - - # Remove common directory prefix to make the group - string(REPLACE "${path}" "" GROUP "${PARENT_DIR}") - # Make sure we are using windows slashes - string(REPLACE "/" "\\" GROUP "${GROUP}") - # Group into "Source Files" and "Header Files" - set(GROUP "${GROUP}") - source_group("${GROUP}" FILES "${fileItem}") - endforeach() - - set(${out_files} ${RESULT} PARENT_SCOPE) -endfunction() +include(cmake/retrieve_files.cmake) # setup rtaudio if (WIN32) @@ -89,3 +36,4 @@ add_subdirectory(third_party/rtaudio) add_subdirectory(third_party/spdlog) add_subdirectory(third_party/mempool) add_subdirectory(third_party/taskflow) + diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index d9333d4..7af254c 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -23,3 +23,12 @@ if (MSVC) ${CMAKE_BINARY_DIR}/bin ) endif () + +# platform micros +if (WIN32) + target_compile_definitions(${PROJECT_NAME} PUBLIC PLATFORM_WINDOWS=1 PLATFORM_MACOS=0 PLATFORM_LINUX=0) +elseif(APPLE) + target_compile_definitions(${PROJECT_NAME} PUBLIC PLATFORM_WINDOWS=0 PLATFORM_MACOS=1 PLATFORM_LINUX=0) +elseif(UNIX AND NOT APPLE) + target_compile_definitions(${PROJECT_NAME} PUBLIC PLATFORM_WINDOWS=0 PLATFORM_MACOS=0 PLATFORM_LINUX=1) +endif()