Files
Toolbox/CMakeLists.txt
Yadciel 543e2bae9c Add installer GUI and file system access feature
This commit introduces a new Tkinter-based GUI installer script (`installer/main.py`) that manages file extraction and shortcut creation. Additionally, a new file system access feature was added to the `ToolboxWindow` class, allowing users to open directories with platform-specific commands. Improvements also include platform-specific adjustments for Windows executables in the CMake configuration.
2024-12-09 11:08:40 +01:00

51 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.30)
project(Toolbox)
set(CMAKE_CXX_STANDARD 23)
set(saucer_no_version_check ON)
set(BUILD_SHARED_LIBS OFF)
option(BUILD_SHARED_LIBS "Build as shared library" ON)
add_subdirectory(lib/c_tray)
add_subdirectory(lib/json)
add_subdirectory(lib/cppcodec)
add_subdirectory(lib/saucer)
add_subdirectory(lib/lua)
add_subdirectory(lib/sol2)
include_directories(inc)
include_directories(lib/json/include/nlohmann)
#include_directories(out_embed)
if(WIN32)
set(RESOURCE_FILES toolbox.rc)
endif()
# Header-Datei einbinden
include_directories(lib/c_tray)
# Plattformabhängige Einstellungen
if(WIN32)
set(PLATFORM_SOURCES lib/c_tray/tray_windows.c)
set(LIBS shell32)
elseif(APPLE)
set(PLATFORM_SOURCES lib/c_tray/tray_darwin.m)
find_library(COCOA_LIBRARY Cocoa)
set(LIBS ${COCOA_LIBRARY})
elseif(UNIX)
set(PLATFORM_SOURCES lib/c_tray/tray_linux.c)
find_package(PkgConfig REQUIRED)
pkg_check_modules(APPINDICATOR REQUIRED appindicator3-0.1)
include_directories(${APPINDICATOR_INCLUDE_DIRS})
set(LIBS ${APPINDICATOR_LIBRARIES})
endif()
file(GLOB_RECURSE SOURCES "src/*.cpp" "inc/*.h")
add_executable(Toolbox main.cpp ${SOURCES} ${RESOURCE_FILES} ${PLATFORM_SOURCES})
target_include_directories(${PROJECT_NAME} PRIVATE "out_embed")
target_link_libraries(Toolbox PRIVATE saucer::saucer sol2::sol2 lua tray nlohmann_json cppcodec)
if(WIN32)
set_target_properties(Toolbox PROPERTIES WIN32_EXECUTABLE TRUE)
endif()