aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt44
1 files changed, 28 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c3c5c33..2a2c531 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,31 +1,43 @@
-cmake_minimum_required(VERSION 3.16)
+cmake_minimum_required(VERSION 3.25)
set(PROJECT "web-browser")
-set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
-
project(${PROJECT}
- VERSION 0.0.0)
+ VERSION 0.0.0
+ LANGUAGES CXX)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 17)
-
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(PkgConfig REQUIRED)
-# set(CEF_PACKAGE_PATH "$ENV{CEF_PACKAGE_PATH}")
-# message(STATUS "CEF path: ${CEF_PACKAGE_PATH}")
-# include_directories(${CEF_PACKAGE_PATH} ${CEF_PACKAGE_PATH}/include)
-# link_directories(${CEF_PACKAGE_PATH}/lib)
+file(GLOB_RECURSE HEADER_FILES include/*.hpp)
+file(GLOB_RECURSE SOURCE_FILES src/*.cpp)
+
+add_executable(${PROJECT})
+target_sources(${PROJECT} PRIVATE ${SOURCE_FILES})
+target_include_directories(${PROJECT} PRIVATE include/)
# Qt
-find_package(Qt6 REQUIRED COMPONENTS Widgets WebEngineWidgets)
+find_package(Qt6 REQUIRED COMPONENTS Core Widgets WebEngineWidgets)
+qt_standard_project_setup()
+qt_wrap_cpp(MOC_SRCS ${HEADER_FILES})
+target_sources(${PROJECT} PRIVATE ${MOC_SRCS})
+set_target_properties(${PROJECT} PROPERTIES AUTOMOC ON)
+target_link_libraries(${PROJECT}
+ Qt6::Core
+ Qt6::Widgets
+ Qt6::WebEngineWidgets)
# LuaJIT
pkg_check_modules(LuaJIT REQUIRED luajit)
include_directories(${LuaJIT_INCLUDE_DIRS})
link_directories(${LuaJIT_LIBRARY_DIRS})
-message(STATUS ":::: Lua path = ${LuaJIT_INCLUDE_DIRS} ${LuaJIT_LINK_LIBRARIES}")
+target_link_libraries(${PROJECT} ${LuaJIT_LINK_LIBRARIES})
-add_executable(${PROJECT} src/main.cpp)
-target_link_libraries(${PROJECT}
- Qt6::Widgets
- Qt6::WebEngineWidgets
- ${LuaJIT_LINK_LIBRARIES})
+# CEF (experiment)
+# set(CEF_PACKAGE_PATH "$ENV{CEF_PACKAGE_PATH}")
+# message(STATUS "CEF path: ${CEF_PACKAGE_PATH}")
+# include_directories(${CEF_PACKAGE_PATH} ${CEF_PACKAGE_PATH}/include)
+# link_directories(${CEF_PACKAGE_PATH}/lib)
+
+install(TARGETS ${PROJECT} RUNTIME DESTINATION bin)