cmake_minimum_required(VERSION 3.16)
project(xlang
        LANGUAGES CXX
        DESCRIPTION "XLANG Compiler")

enable_language(CXX)
enable_testing()
set(CMAKE_CXX_COMPILER /bin/clang++)
set(CXX_STANDARD 23)
set(CMAKE_CXX_FLAGS "-std=c++${CXX_STANDARD}")

include_directories(BEFORE SYSTEM /usr/include ./)
link_directories(BEFORE $ENV{LD_LIBRARY_PATH} ${CMAKE_BINARY_DIR}/ )

include(GNUInstallDirs)

set(SOURCES     src/main.cxx
                CACHE INTERNAL "") # Make this all files MINUS main.cxx dunno how tbh lmao

add_executable(${PROJECT_NAME} ${SOURCES})

target_link_libraries(
    ${PROJECT_NAME}
)

add_test(NAME CompactSourceAll COMMAND ${PROJECT_NAME} ../examples/compact/exitall.x)
add_test(NAME TestOutputBinary COMMAND ${CMAKE_COMMAND} 
    -DTEST_EXECUTABLE=./out
    -P ${CMAKE_CURRENT_SOURCE_DIR}/check_exit_9.cmake)
set_tests_properties(TestOutputBinary PROPERTIES DEPENDS CompactSourceAll)