A disgusting little race condition has appeared, running will result in a black screen 70% of the time >:( TODO: lambda functions referencing non static graphics methods instead of making graphics methods static state manager (everything is hodge podged into graphics and pycron objects) sort math functions into relevant places (trig, random etc)
53 lines
1.7 KiB
CMake
53 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.28)
|
|
project(Pycron)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
# Adding Raylib
|
|
include(FetchContent)
|
|
set(FETCHCONTENT_QUIET FALSE)
|
|
set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) # don't build the supplied examples
|
|
set(BUILD_GAMES OFF CACHE BOOL "" FORCE) # don't build the supplied example games
|
|
|
|
FetchContent_Declare(
|
|
raylib
|
|
GIT_REPOSITORY "https://github.com/raysan5/raylib.git"
|
|
GIT_TAG "master"
|
|
GIT_PROGRESS TRUE
|
|
)
|
|
|
|
FetchContent_MakeAvailable(raylib)
|
|
|
|
# Adding our source files
|
|
file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/sources/*.c") # Define PROJECT_SOURCES as a list of all source files
|
|
set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR}/sources/") # Define PROJECT_INCLUDE to be the path to the include directory of the project
|
|
|
|
|
|
add_executable(Pycron src/main.cpp
|
|
src/Pycron.cpp
|
|
src/Pycron.h
|
|
src/Utilities.cpp
|
|
src/Utilities.h
|
|
src/Graphics/Graphics.cpp
|
|
src/Graphics/Graphics.h)
|
|
|
|
add_subdirectory(dependencies/pocketpy)
|
|
# Declaring our executable
|
|
target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE raylib pocketpy)
|
|
|
|
|
|
# Setting ASSETS_PATH
|
|
target_compile_definitions(${PROJECT_NAME} PUBLIC ASSETS_PATH="${CMAKE_CURRENT_SOURCE_DIR}/assets/") # Set the asset path macro to the absolute path on the dev machine
|
|
|
|
if(EMSCRIPTEN)
|
|
# exceptions must be enabled for emscripten
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fexceptions")
|
|
endif()
|
|
|
|
file(COPY ${CMAKE_SOURCE_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
|
|
file(COPY ${CMAKE_SOURCE_DIR}/python DESTINATION ${CMAKE_BINARY_DIR})
|
|
|
|
|