Erste Version
This commit is contained in:
69
CMakeLists.txt
Normal file
69
CMakeLists.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(BareCode
|
||||
VERSION 1.0.0
|
||||
DESCRIPTION "A modular code editor built with Qt6"
|
||||
LANGUAGES CXX
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
# Platform-specific settings
|
||||
if(WIN32)
|
||||
set(CMAKE_WIN32_EXECUTABLE ON)
|
||||
add_compile_definitions(PLATFORM_WINDOWS)
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
add_compile_definitions(PLATFORM_LINUX)
|
||||
elseif(APPLE)
|
||||
add_compile_definitions(PLATFORM_MACOS)
|
||||
endif()
|
||||
|
||||
# Find Qt6
|
||||
find_package(Qt6 REQUIRED COMPONENTS
|
||||
Core
|
||||
Gui
|
||||
Widgets
|
||||
)
|
||||
|
||||
qt_standard_project_setup()
|
||||
|
||||
# Include cmake modules
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
# Collect sources
|
||||
add_subdirectory(src)
|
||||
|
||||
# Resources
|
||||
qt_add_resources(BARECODE_RESOURCES resources/resources.qrc)
|
||||
|
||||
# Main executable
|
||||
qt_add_executable(BareCode
|
||||
main.cpp
|
||||
${BARECODE_RESOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(BareCode PRIVATE
|
||||
BareCode_Core
|
||||
BareCode_Editor
|
||||
BareCode_FileTree
|
||||
BareCode_Highlighter
|
||||
Qt6::Core
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
)
|
||||
|
||||
target_include_directories(BareCode PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
)
|
||||
|
||||
# Install rules
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS BareCode
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
Reference in New Issue
Block a user