cmake_minimum_required(VERSION 3.0)
project(complete_chan)

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")

include(Cpp11)

enable_testing()

add_subdirectory(third_party)
add_subdirectory(bash)
add_subdirectory(lib)
add_subdirectory(src)

if (PYTHON2_EXECUTABLE)
    message("Python2 enabled at ${PYTHON2_EXECUTABLE}")
    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python2")
    execute_process(COMMAND ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON2_EXECUTABLE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${CMAKE_SOURCE_DIR}/python
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python2"
    )
    add_custom_target(python2_module ALL
        ${CMAKE_COMMAND} --build .
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python2
    )
    install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python2)")
endif()


if (PYTHON3_EXECUTABLE)
    message("Python3 enabled at ${PYTHON3_EXECUTABLE}")
    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python3")
    execute_process(COMMAND ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON3_EXECUTABLE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${CMAKE_SOURCE_DIR}/python
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python3"
    )
    add_custom_target(python3_module ALL
        ${CMAKE_COMMAND} --build .
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python3
    )
    install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python3)")
endif()
