cmake_minimum_required(VERSION 3.10) project(cosmo VERSION 0.1.0 LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED True) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin) IF (NOT WIN32) set (CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g") set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fsanitize=address") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -Wall") ENDIF() set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT cosmo) include(FetchContent) file(GLOB sources CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/src/*.c) add_executable(${PROJECT_NAME} main.c ${PROJECT_SOURCE_DIR}/util/linenoise.c) target_sources(${PROJECT_NAME} PRIVATE ${sources}) IF (NOT WIN32) target_link_libraries(${PROJECT_NAME} m) ENDIF() target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/src) target_compile_features(${PROJECT_NAME} PRIVATE c_std_99)