cmake_minimum_required(VERSION 3.12)
project(simulator)

# Pybind11のFindPython設定を有効化
set(PYBIND11_FINDPYTHON ON)

# 必要なCMakeモジュールのパスを設定
list(APPEND CMAKE_PREFIX_PATH 
    "F:/KuraCurling_shot/mcts/FCV1-Simulation/extern/box2d/build/lib/cmake/box2d"
    "C:/Users/kurai/AppData/Local/Programs/Python/Python311/Lib/site-packages/pybind11/share/cmake/pybind11"
)

# C++バージョンの設定
set(CMAKE_CXX_STANDARD 17)

# JSONライブラリのインクルード
include_directories(C:/json/include)

# 必要なパッケージを検索 (順番が重要)
find_package(pybind11 REQUIRED)
find_package(OpenMP REQUIRED)
set(Box2D_DIR "F:/KuraCurling_shot/mcts/FCV1Simulation/extern/box2d/build/lib/cmake/box2d")
find_package(Box2D REQUIRED)

# Pybind11モジュールの作成
pybind11_add_module(simulator fcv1_simulator.cpp)

# ライブラリのディレクトリを設定
link_directories("F:/KuraCurling_shot/mcts/FCV1Simulation/extern/box2d/build/lib")

# ライブラリのビルド設定
target_include_directories(simulator PRIVATE "${CMAKE_SOURCE_DIR}/../extern/box2d/include")
target_link_libraries(simulator PRIVATE pybind11::module)
target_link_libraries(simulator PRIVATE "F:/KuraCurling_shot/mcts/FCV1Simulation/extern/box2d/build/lib/box2d.lib")
target_link_libraries(simulator PRIVATE OpenMP::OpenMP_CXX)

# モジュール名の接頭辞を削除
set_target_properties(simulator PROPERTIES PREFIX "")