From 17881c406631571613debc0d8d5faf7d23608956 Mon Sep 17 00:00:00 2001 From: blue Date: Sun, 27 Aug 2023 14:55:04 -0300 Subject: [PATCH] Initial project setup --- CHANGELOG.md | 1 + CMakeLists.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 ++-- mason.kdev4 | 3 --- src/CMakeLists.txt | 8 ++++++++ src/main.cpp | 6 ++++++ 6 files changed, 63 insertions(+), 5 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 CMakeLists.txt delete mode 100644 mason.kdev4 create mode 100644 src/CMakeLists.txt create mode 100644 src/main.cpp diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1 @@ + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e1c88d9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.0) + +project(mason + VERSION 0.0.1 + DESCRIPTION "Javascript application project build tool" + LANGUAGES CXX +) + +cmake_policy(SET CMP0076 NEW) +cmake_policy(SET CMP0077 NEW) +cmake_policy(SET CMP0079 NEW) + +set(CMAKE_CXX_STANDARD 17) + +include(GNUInstallDirs) + +if (CMAKE_BUILD_TYPE STREQUAL "Release") + list(APPEND COMPILE_OPTIONS -O3) +elseif (CMAKE_BUILD_TYPE STREQUAL "Debug") + list(APPEND COMPILE_OPTIONS -g) + list(APPEND COMPILE_OPTIONS -Wall) + list(APPEND COMPILE_OPTIONS -Wextra) +endif() + +add_executable(${PROJECT_NAME}) + +target_compile_options(${PROJECT_NAME} PRIVATE ${COMPILE_OPTIONS}) + +set_property(TARGET ${PROJECT_NAME} PROPERTY VERSION ${version}) +set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION 1) +set_property(TARGET ${PROJECT_NAME} PROPERTY + INTERFACE_${PROJECT_NAME}_MAJOR_VERSION 1) +set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY + COMPATIBLE_INTERFACE_STRING ${PROJECT_NAME}_MAJOR_VERSION +) + +target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) + +add_subdirectory(src) + +install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} +) diff --git a/README.md b/README.md index 8311ade..69ec0cf 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# mason +# Mason -Javascript application project build tool \ No newline at end of file +Javascript application project build tool diff --git a/mason.kdev4 b/mason.kdev4 deleted file mode 100644 index 3bbda30..0000000 --- a/mason.kdev4 +++ /dev/null @@ -1,3 +0,0 @@ -[Project] -Name=mason -Manager=KDevGenericManager diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..620b3b9 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,8 @@ +set(SOURCES + main.cpp +) + +set(HEADERS +) + +target_sources(${PROJECT_NAME} PRIVATE ${SOURCES}) diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..f8d5a4f --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,6 @@ +#include + +int main(int argc, char *argv[]) { + std::cout << "Ahh, shit! Here we go again!" << std::endl; + return 0; +}