70 lines
1.3 KiB
CMake
70 lines
1.3 KiB
CMake
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}
|
|
)
|