summaryrefslogtreecommitdiffhomepage
path: root/CMakeLists.txt
blob: 7fb7068421cb853bc05c36010da0e7e825ebab6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# // ============================================================= //
# // NeBuild
# // Copyright (C) 2025, Amlal El Mahrouss, licensed under BSD-3 license.
# // ============================================================= //

# AMLALE: Update the CMake version, which requires a version that was too old.
cmake_minimum_required(VERSION 3.30)

project(nebuild VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/vendor)

file(GLOB NEBUILD_CLI_SOURCES "${CMAKE_SOURCE_DIR}/src/cli/*.cc")
file(GLOB NEBUILD_SRC_SOURCES "${CMAKE_SOURCE_DIR}/src/lib/*.cc")
set(NEBUILD_SOURCES ${NEBUILD_CLI_SOURCES} ${NEBUILD_SRC_SOURCES})

add_executable(nebuild ${NEBUILD_SOURCES})

target_include_directories(nebuild PRIVATE ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/vendor)

option(BUILD_WINDOWS "Produce a Windows executable name (nebuild.exe)" OFF)

add_custom_target(build-nebuild
  COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target nebuild
  COMMENT "=> NeBuild built successfully for POSIX."
)

message(STATUS "Sources: ${NEBUILD_SOURCES}")
message(STATUS "Include Dirs: ${CMAKE_SOURCE_DIR}/src;${CMAKE_SOURCE_DIR}/vendor")

include(install_windows.cmake)