#cmake version cmake_minimum_required(VERSION 3.31) #project name project(TSE_GlfwImpl) #cpp settings find_program(CLANG_C NAMES clang) find_program(CLANG_CXX NAMES clang++) if(CLANG_C AND CLANG_CXX) message(STATUS "foung Clang, using as Compiler") set(CMAKE_C_COMPILER ${CLANG_C} CACHE STRING "C Compiler" FORCE) set(CMAKE_CXX_COMPILER ${CLANG_CXX} CACHE STRING "C++ Compiler" FORCE) else() message(STATUS "Clang not found, using Standard-Compiler") endif() set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) #project output settings set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/lib") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR}/lib/Debug") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR}/lib/Release") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/lib") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR}/lib/Debug") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR}/lib/Release") #source files file(GLOB CPP_SOURCE_TSE "${PROJECT_SOURCE_DIR}/src/*.cpp" "${PROJECT_SOURCE_DIR}/src/*/*.cpp" "${PROJECT_SOURCE_DIR}/src/*/*/*.cpp" "${PROJECT_SOURCE_DIR}/src/*/*/*/*.cpp" "${PROJECT_SOURCE_DIR}/src/*.c" "${PROJECT_SOURCE_DIR}/src/*/*.c" "${PROJECT_SOURCE_DIR}/src/*/*/*.c" "${PROJECT_SOURCE_DIR}/src/*/*/*/*.c" ) #includes include_directories(${PROJECT_SOURCE_DIR}/src) include_directories(${PROJECT_SOURCE_DIR}/include) include_directories(${PROJECT_SOURCE_DIR}/../TSE_Base/src) include_directories(${PROJECT_SOURCE_DIR}/../TSE_Base/include) include_directories(${PROJECT_SOURCE_DIR}/../TSE_Math/src) include_directories(${PROJECT_SOURCE_DIR}/../TSE_Core/src) include_directories(${PROJECT_SOURCE_DIR}/../TSE_Core/include) #project def if(Lib) add_library(TSE_GlfwImpl SHARED ${CPP_SOURCE_TSE}) else() add_library(TSE_GlfwImpl STATIC ${CPP_SOURCE_TSE}) endif() #flags target_compile_options(TSE_GlfwImpl PRIVATE -march=native)