UnnamedPythonMicroConsole/CMakeLists.txt
Bobby Lucero 66ce48776a Testing out python bindings, needs refactor
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)
2024-04-21 23:33:39 -04:00

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})