Skip to content

Commit

Permalink
Switched from qmake to CMake.
Browse files Browse the repository at this point in the history
  • Loading branch information
zlogic committed Apr 4, 2022
1 parent 57f4f79 commit 9b4478d
Show file tree
Hide file tree
Showing 9 changed files with 199 additions and 226 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Cybervision is a 3D reconstruction software for Scanning Electron Microscope images.
It's an abandoned project, but can be useful as a working example for many, many technologies, such as:
* [Qt 5.15](https://doc.qt.io/qt-5.15/) (including threads, vectors, graphics and 3D rendering)
* [Qt 6.2](https://doc.qt.io/qt-6.2/) (including threads, vectors, graphics and 3D rendering)
* [Eigen library](http://eigen.tuxfamily.org/)
* [libsift library](https://sourceforge.net/projects/libsift/)
* [OpenCL](https://www.khronos.org/registry/OpenCL/)
Expand Down
2 changes: 1 addition & 1 deletion cybervision/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
/cybervision.pro.user
CMakeLists.txt.user
43 changes: 43 additions & 0 deletions cybervision/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
cmake_minimum_required(VERSION 3.21)

project(cybervision LANGUAGES CXX)

if (NOT DEFINED CYBERVISION_OPENCL)
set(CYBERVISION_OPENCL ON CACHE BOOL "Enable OpenCL")
endif()
if (NOT DEFINED CYBERVISION_SSE)
set(CYBERVISION_SSE ON CACHE BOOL "Enable SSE")
endif()
if (NOT DEFINED CYBERVISION_OPENMP)
set(CYBERVISION_OPENMP ON CACHE BOOL "Enable OpenMP")
endif()
if (NOT DEFINED CYBERVISION_DEMO)
set(CYBERVISION_DEMO OFF CACHE BOOL "Demo mode")
endif()

if(CYBERVISION_DEMO)
list(APPEND cybervision_features "Demo")
endif()

if(NOT CYBERVISION_OPENCL)
list(APPEND cybervision_features "noOpenCL")
endif()

if(NOT CYBERVISION_SSE)
list(APPEND cybervision_features "noSSE")
endif()

if(NOT CYBERVISION_OPENMP)
list(APPEND cybervision_features "noSSE")
endif()

if(cybervision_features)
list(JOIN cybervision_features "_" CYBERVISION_SUFFIX)
string(PREPEND CYBERVISION_SUFFIX "_")
endif()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_subdirectory(cybervision-app)
add_subdirectory(libsiftfast)
108 changes: 108 additions & 0 deletions cybervision/cybervision-app/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
cmake_minimum_required(VERSION 3.21)

project(cybervision-app LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets 3DCore 3DRender 3DExtras)

set(PROJECT_SOURCES
main.cpp
UI/mainwindow.cpp
Reconstruction/pointmatcher.cpp
Reconstruction/pointmatch.cpp
Reconstruction/fundamentalmatrix.cpp
Reconstruction/pointtriangulator.cpp
Reconstruction/reconstructor.cpp
Reconstruction/options.cpp
Reconstruction/sculptor.cpp
Reconstruction/surface.cpp
Reconstruction/imageloader.cpp
Reconstruction/pointmatcheropencl.cpp
Reconstruction/crosssection.cpp
KDTree/kdtreegateway.cpp
UI/processthread.cpp
UI/cybervisionviewer.cpp
UI/crosssectionwindow.cpp
UI/aboutwindow.cpp
Reconstruction/pointmatcher.h
Reconstruction/pointmatch.h
Reconstruction/fundamentalmatrix.h
Reconstruction/reconstructor.h
Reconstruction/pointtriangulator.h
Reconstruction/options.h
Reconstruction/sculptor.h
Reconstruction/surface.h
Reconstruction/imageloader.h
Reconstruction/pointmatcheropencl.h
Reconstruction/crosssection.h
Reconstruction/config.h
KDTree/kdtreegateway.h
UI/mainwindow.h
UI/processthread.h
UI/cybervisionviewer.h
UI/crosssectionwindow.h
UI/aboutwindow.h
UI/mainwindow.ui
UI/crosssectionwindow.ui
UI/aboutwindow.ui
ReconstructionResources.qrc
UI/translations/cybervision-app_ru.ts
)

qt_add_executable(cybervision-app
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)

target_link_libraries(cybervision-app PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::3DCore Qt6::3DRender Qt6::3DExtras)
target_link_libraries(cybervision-app PRIVATE libsiftfast)

if(CYBERVISION_OPENCL)
target_compile_definitions(cybervision-app PRIVATE
CYBERVISION_OPENCL
)
target_link_libraries(cybervision-app PRIVATE
OpenCL
)
endif()

if(CYBERVISION_OPENMP)
target_link_libraries(cybervision-app PUBLIC
gomp
pthread
)
target_compile_options(cybervision-app PRIVATE
-fopenmp
)
endif()

if(CYBERVISION_SSE)
target_compile_options(cybervision-app PRIVATE
-msse3
)
endif()

if(CYBERVISION_DEMO)
target_compile_definitions(cybervision-app PRIVATE
CYBERVISION_DEMO
)
endif()

target_compile_options(cybervision-app PRIVATE
$<$<CONFIG:Debug>:-Wa,-mbig-obj>
)

set_target_properties(cybervision-app PROPERTIES
WIN32_EXECUTABLE TRUE
OUTPUT_NAME "cybervision${CYBERVISION_SUFFIX}"
)

qt_finalize_executable(cybervision-app)
137 changes: 0 additions & 137 deletions cybervision/cybervision-app/cybervision-app.pro

This file was deleted.

41 changes: 0 additions & 41 deletions cybervision/cybervision-options.pri

This file was deleted.

14 changes: 0 additions & 14 deletions cybervision/cybervision.pro

This file was deleted.

Loading

0 comments on commit 9b4478d

Please sign in to comment.