|
|
|
|
@ -48,9 +48,68 @@ option(BUILD_FUZZING "Build tests")
|
|
|
|
|
option(LIBCLANG_PATH "Use custom path for libclang") |
|
|
|
|
option(LIBLLDB_PATH "Use custom path for liblldb") |
|
|
|
|
|
|
|
|
|
if(${CMAKE_VERSION} VERSION_GREATER 3.11.4) |
|
|
|
|
if (${CMAKE_HOST_WIN32}) |
|
|
|
|
if("$ENV{APPVEYOR}" STREQUAL "True") |
|
|
|
|
set(MINGW_PATH "C:/msys64/mingw64") |
|
|
|
|
else() |
|
|
|
|
set(MINGW_PATH "$ENV{MSYSTEM_PREFIX}") |
|
|
|
|
endif() |
|
|
|
|
set(MINGW_PYTHON_VERSION 3.7) |
|
|
|
|
set(MINGW_LIBRARY_DIR "${MINGW_PATH}/lib") |
|
|
|
|
set(MINGW_INCLUDE_DIR "${MINGW_PATH}/include") |
|
|
|
|
find_file(Python3_LIBRARIES "libpython${MINGW_PYTHON_VERSION}m.dll.a" HINTS ${MINGW_LIBRARY_DIR} NO_DEFAULT_PATH) |
|
|
|
|
find_path(Python3_INCLUDE_DIRS "Python.h" HINTS "${MINGW_INCLUDE_DIR}/python${MINGW_PYTHON_VERSION}m" NO_DEFAULT_PATH) |
|
|
|
|
if (EXISTS ${Python3_LIBRARIES} AND EXISTS ${Python3_INCLUDE_DIRS}) |
|
|
|
|
set(Python3_FOUND True) |
|
|
|
|
set(Python3_LIBRARY_DIRS "${MINGW_LIBRARY_DIR}/python${MINGW_PYTHON_VERSION}") |
|
|
|
|
set(Python3_VERSION_MAJOR 3) |
|
|
|
|
set(Python3_VERSION_MINOR 7) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
find_package(Python3 COMPONENTS Development) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
find_package(PythonLibs 3) |
|
|
|
|
message(${PYTHONLIBS_VERSION_STRING}) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(${Python3_FOUND}) |
|
|
|
|
if(${CMAKE_HOST_WIN32}) |
|
|
|
|
set(PYTHONLIBS_FOUND True) |
|
|
|
|
set(PYTHON_MODULE_EXTENSION True) |
|
|
|
|
endif() |
|
|
|
|
set(PYTHONLIBS_FOUND ${Python3_FOUND}) |
|
|
|
|
set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) |
|
|
|
|
set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS}) |
|
|
|
|
set(PYTHON_LIBRARY_DIR ${Python3_LIBRARY_DIRS}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
include(FindPkgConfig) |
|
|
|
|
|
|
|
|
|
set(PYGOBJECT_FOUND False) |
|
|
|
|
|
|
|
|
|
if(${PYTHONLIBS_FOUND}) |
|
|
|
|
add_subdirectory(lib/pybind11) |
|
|
|
|
pkg_check_modules(PYGOBJECT pygobject-3.0) |
|
|
|
|
if("${PYGOBJECT_FOUND}" STREQUAL "") |
|
|
|
|
set(PYGOBJECT_FOUND False) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(${PYGOBJECT_FOUND}) |
|
|
|
|
add_definitions(-DJUCI_ENABLE_PLUGINS) |
|
|
|
|
else() |
|
|
|
|
message(STATUS "Python or pygobject not found. Building juCi++ without plugin support.") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
set(BUILD_TESTING_SAVED ${BUILD_TESTING}) |
|
|
|
|
set(BUILD_TESTING OFF CACHE BOOL "Disable sub-project tests" FORCE) |
|
|
|
|
add_subdirectory(lib/libclangmm) |
|
|
|
|
add_subdirectory(lib/tiny-process-library) |
|
|
|
|
set(BUILD_TESTING ${BUILD_TESTING_SAVED} CACHE BOOL "Set to previous value" FORCE) |
|
|
|
|
find_package(Boost 1.54 COMPONENTS REQUIRED filesystem serialization) |
|
|
|
|
find_package(ASPELL REQUIRED) |
|
|
|
|
include(FindPkgConfig) |
|
|
|
|
pkg_check_modules(GTKMM gtkmm-3.0 REQUIRED) |
|
|
|
|
pkg_check_modules(GTKSVMM gtksourceviewmm-3.0 REQUIRED) |
|
|
|
|
pkg_check_modules(LIBGIT2 libgit2 REQUIRED) |
|
|
|
|
@ -112,6 +171,8 @@ include_directories(
|
|
|
|
|
${LIBCLANG_INCLUDE_DIRS} |
|
|
|
|
${ASPELL_INCLUDE_DIR} |
|
|
|
|
${LIBGIT2_INCLUDE_DIRS} |
|
|
|
|
${PYTHON_INCLUDE_DIRS} |
|
|
|
|
${PYGOBJECT_INCLUDE_DIRS} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
add_subdirectory("src") |
|
|
|
|
|