cmake_minimum_required(VERSION 3.20) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) project( artichoke VERSION 0.1.0 DESCRIPTION "artichoke programming language" LANGUAGES CXX ) set(PROJECT_URL "lang.artichoke.dev") set(PROJECT_AUTHOR "erick-alcachofa") set(PROJECT_AUTHOR_GITHUB "@erick-alcachofa") option(ENABLE_TESTING "Enable build of tests for library" OFF) add_subdirectory(lib) add_subdirectory(frontend) install( TARGETS frontend RUNTIME DESTINATION bin ) get_target_property( EXECUTABLE_NAME frontend OUTPUT_NAME ) install( CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink \${CMAKE_INSTALL_PREFIX}/bin/${EXECUTABLE_NAME} \${CMAKE_INSTALL_PREFIX}/bin/arti-c )" ) install( TARGETS library library_static EXPORT artichokeTargets FILE_SET HEADERS LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin INCLUDES DESTINATION include ) install( EXPORT artichokeTargets FILE artichokeTargets.cmake NAMESPACE artichoke:: DESTINATION lib/cmake/artichoke ) include (CMakePackageConfigHelpers) write_basic_package_version_file( "artichokeConfigVersion.cmake" VERSION ${artichoke_VERSION} COMPATIBILITY AnyNewerVersion ) install( FILES "cmake/artichokeConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/artichokeConfigVersion.cmake" DESTINATION lib/cmake/artichoke ) if(ENABLE_TESTING) add_subdirectory(tests) endif()