-
-
Notifications
You must be signed in to change notification settings - Fork 361
build: Add CMake build #3621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
build: Add CMake build #3621
Changes from 1 commit
Commits
Show all changes
270 commits
Select commit
Hold shift + click to select a range
3f11960
fix path to grass/script/setup.py
neteler 0081ec1
remove files deleted in PR #1400
neteler 39ac99f
Fix missing EOL
neteler 41498f0
just peek in the folder (by @echoix)
neteler b5adab3
sync clang-format changes from main
neteler 2697c9e
apply clang-format
nilason 11eefd9
cmake_minimum_required version 3.11
neteler 1065835
update to CMake 3.11.4
neteler 3d2b8b2
add VERBATIM
neteler 6aaa922
homogenize ubuntu image name
neteler 5faf3e4
use of INFINITY and NAN
lbartoletti bc882ce
Simplify and use PROJ_H_
lbartoletti fbb18a8
CMakeLists.txt: add include_irectories to grass
lbartoletti 07d7eef
raster/CMakeLists.txt: fix GDAL_VERSION
lbartoletti 60f3894
add aprintf.c
lbartoletti c45e157
v.neighbors requires grass_stats
lbartoletti 501bf70
ctypesgen.py: main module is not ctypesgen.py but run.py. fix it.
lbartoletti 7751d33
lib/rst: fix build. Remove DEFS POINT2D_C
lbartoletti d3ac69a
python: copy grassdb
lbartoletti 8c70cde
propose ccache to speedup build
lbartoletti 7d2d4ef
mkhtml.py depends on a sibling python script
aaronsms 29fa95c
make libraster libvector link with lapack when it is available
aaronsms 0999184
add the 3 missing raster modules
aaronsms 9b92c9a
display: add d.rgb, d.rhumbline, d.text, d.title, d.vect.*
lbartoletti 80c090d
raster: enable r3.mapcalc
lbartoletti 362f81a
raster: enable r.object.geometry
lbartoletti 625181f
ps: enable ps.map
lbartoletti b1ad3a9
python/grass: add utils (will be used by g.download.location scripts)
lbartoletti b4144e5
scripts: add d.background, g.download.location, i.band.library, r.sem…
lbartoletti e7f94a7
temporal: add t.copy and t.upgrade
lbartoletti 073bed8
add an optional cmake to use alternate linker
lbartoletti 3793f5b
gui/wxpython: copy main_window dir
lbartoletti 03ca9ae
init: copy lock, echo, run, clean_temp and winlocale
lbartoletti af00fab
minor fixes just to move forward
nilason 94a6b32
apply cmake-format
nilason 69392ec
Very WIP commit, various changes
nilason fa702a9
Define global PYTHON_EXECUTABLE
HuidaeCho 1be74e3
Shared library versioning and symlinks
HuidaeCho 7186e9c
Rename grass.sh to grass and set 755 permissions
HuidaeCho 61cd5fc
Rename project to GRASS
HuidaeCho edc25ba
Define PYTHON_EXECUTABLE from CheckDependentLibraries.cmake
HuidaeCho ca13896
Add dependency properties
HuidaeCho cc8bfdf
libjpeg not required anymore?
HuidaeCho 4a92f5c
cmake-format
HuidaeCho cf9db5c
Honor WITH_LIBLAS
HuidaeCho ab9de1e
Indentation
HuidaeCho 7d40ac7
Fix Python_EXECUTABLE to PYTHON_EXECUTABLE
HuidaeCho 2d09ff0
Do not overwrite BINARY_DIR cmake property
HuidaeCho 1e2b717
Move directory settings
HuidaeCho 1f20241
Build directly into GISBASE
HuidaeCho ee9b9b0
Rename tools directory to utils to be consistent
HuidaeCho 952da36
No need to copy G_NAME to itself now
HuidaeCho 496d82c
Rename G_SRCDIR to G_SRC_DIR for consistency; Do not create tmp.html …
HuidaeCho e234646
Do not touch empty files; Do not run html-description if G_RUNTIME_OU…
HuidaeCho 7a0b99b
Don't chdir unnecessarily
HuidaeCho 99a8f1e
Set GRASS_HEADERS_(VERSION|DATE) for g.version
HuidaeCho 4d97f59
Remove JPEG
HuidaeCho f007776
Add MySQL support
HuidaeCho 93987e2
Support MySQL
HuidaeCho e0feca0
Move mysql_SRCS to top
HuidaeCho accfc82
Mixed-case PostgreSQL_* variables
HuidaeCho cb7d540
Mixed-case MySQL_* variables
HuidaeCho 184d8e3
Mixed-case LibLAS_FOUND
HuidaeCho 347f6f3
Use original mixed-case *_FOUND
HuidaeCho b9ccfbe
Support readline
HuidaeCho 0f5ef8f
Consistent help messages
HuidaeCho 510ae70
Require WITH-libraries
HuidaeCho 9537f73
Support zstd
HuidaeCho 5a9604f
Support regex
HuidaeCho 98718a0
Support OpenMP
HuidaeCho ba7440e
cmake-format
HuidaeCho 15dd45a
Add -fopenmp only if OpenMP is requested and found
HuidaeCho 05a907d
Reorder options by group; Clean up dependencies for libraries and mod…
HuidaeCho 99659d5
Add missing dependencies to lidar
HuidaeCho d7a2596
Update lib/external/ccmath/ccmath.h
HuidaeCho 4470c01
Update lib/external/ccmath/ccmath.h
HuidaeCho e65d616
Update lib/gis/user_config.c
HuidaeCho 3d174f7
Update raster/r.terraflow/filldepr.cpp
HuidaeCho 3442674
Update raster/r.terraflow/main.cpp
HuidaeCho c8b3470
Compile parson
HuidaeCho afd1421
Add parson dependency
HuidaeCho 39216fd
Remove duplicate regex check
HuidaeCho e63162c
Add GUI history
HuidaeCho 3d90f19
Copy install to GISBASE; Fix ctypesgen
HuidaeCho 14ac436
Copy include to GISBASE
HuidaeCho 7d1db08
Copy render_cmd.py to GISBASE/etc/d.mon
HuidaeCho f0717a6
Extend copy_python_files_in_subdir to copy on build event
HuidaeCho e71e808
Copy lib/symbol/symbol to GISBASE/etc/symbol
HuidaeCho be0ec4b
Copy symbol images to GISBASE/gui/images/symbols
HuidaeCho 038e75d
Copy fonts and create fontcap
HuidaeCho f138526
Resolve a dependency loop
HuidaeCho b87c014
Update .github/workflows/cmake.yml
HuidaeCho 91b4830
Update .github/workflows/cmake.yml
HuidaeCho 8259dca
Update .github/workflows/cmake.yml
HuidaeCho a8747d8
Update .github/workflows/cmake.yml
HuidaeCho 59699b4
Update .github/workflows/cmake.yml
HuidaeCho 8a2b92f
Update .github/workflows/cmake.yml
HuidaeCho 982194d
Update .github/workflows/cmake.yml
HuidaeCho 7397ab5
Add postgres versions 14-16
HuidaeCho 8580f11
Add Findzstd.cmake
HuidaeCho 76b99ab
Add grass_gis dependency to symbol (G_malloc)
HuidaeCho cb3b4eb
Address an issue with excluding PNG files
HuidaeCho fbc51ae
Revert pngdriver.h; if we need it, should be done in a new PR
HuidaeCho aa4cffd
Require CMake 3.16.0; format to yamllint *manually* (do we have a for…
HuidaeCho 89ae499
CHMOD (cmake 3.19) workaround for 3.16
HuidaeCho a6bc894
Use full path to /bin/chmod for security
HuidaeCho 838effa
chmod 755 instead of chmod a+x
HuidaeCho 3fab740
Update .github/workflows/cmake.yml
HuidaeCho 733553a
Update gui/images/CMakeLists.txt
HuidaeCho 8cdcca8
Use CMAKE_VERSION VERSION_* instead of comments for CHMOD
HuidaeCho 6bef1cd
Update .github/workflows/cmake.yml
HuidaeCho 454a38f
Let's try g.mkfontcap -s
HuidaeCho 98b624a
Tell me where please...
HuidaeCho 82bc972
Add more print lines to g.mkfontcap
HuidaeCho b14e5d2
Is it G_asprintf?
HuidaeCho c533696
Memory address seems too high
HuidaeCho 21d6cab
Try allocating memory to fontcap.path
HuidaeCho 8819cfb
Do you HAVE_ASPRINTF?
HuidaeCho b20d5a7
We hit the bug in G_asprintf; ap is undefined as the first call
HuidaeCho 9a465ca
OK, G_vasprintf without HAVE_ASPRINTF is buggy
HuidaeCho d4bc714
Let's try this fix for G_vasprintf
HuidaeCho 515b6a1
Update .github/workflows/cmake.yml
HuidaeCho 50a967d
Fix check for HAVE_ASPRINTF
HuidaeCho c8de3a3
Fix diglib compile
HuidaeCho 0c0a7c4
Update CMakeLists.txt
HuidaeCho 7e6a101
Update CMakeLists.txt
HuidaeCho 5c16a52
Update CMakeLists.txt
HuidaeCho 683c1ad
CI(cmake): Use ninja generator
echoix 7a3b557
source changes (address separately)
nilason c2e2ebb
cmake: major update, FHS, dependencies, tests added
nilason dc0ef09
CI: restore original state
nilason 4bfea82
Added parson to r.info, r.profile, v.info
Mahesh1998 9135c6b
Fixed Building grass with Ubuntu System Libraries and cmake
Mahesh1998 fc321cb
Added parson to r.univar, r3.univar, v.univar
Mahesh1998 a07ca35
Fixed LIBM target issue and added the missing file gettimeoftheday c …
Mahesh1998 e4e78da
Fixed Windows Environment Path Issue and Relocated all msvc files fro…
Mahesh1998 9711c1f
msvc/gettimeofday.c: clang-formatted
HuidaeCho b58ffe1
Include all C files for lib/gis
HuidaeCho c236dc6
Use bracket arguments for REGEX
HuidaeCho 7f96e5e
Add more parson dependency
HuidaeCho 5db6d60
ctypegen: Do not link against versioned libs because lib names are no…
HuidaeCho 0afe106
libgrass_interface_generator depends on grass_ogsf; build libs first
HuidaeCho 38f4967
msvc/gettimeofday.c: Add the original URL
HuidaeCho 3f5df0f
Use the SDRangel version of gettimeofday.c because c.h is postgres-only
HuidaeCho 4685571
gettimeofday.c: comment
HuidaeCho 9b53e79
Added --openmp:llvm flag to utilize latest version for min/max reduct…
Mahesh1998 dda0b0b
Fixed Error: Unresolved External Symbol opendir, closedir, readdir in…
Mahesh1998 7985073
Replace LIBM with ${LIBM} for MSVC where math library is not needed
Mahesh1998 953bf9b
Fixed Environment Path Separator issue in windows by replacing ; with \;
Mahesh1998 4878066
Added Grass GIS dependency to wxpython docs
Mahesh1998 eaf0a9b
Added grep alternative findstr to windows and replaced /dev/null with…
Mahesh1998 a12643f
Fixed Unresolved external symbol G__ due to export issue in windows
Mahesh1998 7b5e0fe
Fixed export issue of global variables in driver module. These variab…
Mahesh1998 5cf5741
Fixed db link issue
Mahesh1998 e16a65a
Removed TODO comments as it is required to add all dependencies while…
Mahesh1998 abaa8cd
Added Default Build Type as DEBUG for Windows and Removed find_librar…
Mahesh1998 c3d0774
Included LD Library PATH for windows in PATH
Mahesh1998 ad92759
ctime is used for Windows. So replaced mingw32 with win32
Mahesh1998 e73bbb7
Iterator should be declared outside pragma block
Mahesh1998 6fd4297
Removed extra build mode directory for windows due to multiple issues
Mahesh1998 531d277
Multiple instructions in single line created access violation, so sep…
Mahesh1998 489e07a
Removed message statement
Mahesh1998 309440c
Windows equivalent of strtok_r is strtok_s. So, replaced it
Mahesh1998 16e30a9
Fixed Python variable typo
Mahesh1998 9820712
changes mixed case python variables in cmake to uppercase to maintain…
Mahesh1998 8b1e824
isolated chmod only for UNIX and replaced /dev/null, grep with nul, f…
Mahesh1998 1cf4c1b
Updated grep with findstr for windows compatibility
Mahesh1998 26e9372
Resolved external variable link issue in windows for v.surf.rst using…
Mahesh1998 f3bb469
Optimized NULL device Path, SEARCH command, HTML search string in Cma…
Mahesh1998 340cc5d
Prepended "g.gui." to all gui output bat files
Mahesh1998 f4c5b54
Fixed Target Level Dependency for build modules items xml
Mahesh1998 4069654
FIXED GRASS_PYTHON env value empty issue in bat files. FIXED TARGET N…
Mahesh1998 b793d10
Fix unistd indentifiers by including unistd header
KandelN e598b03
Fixed V.Profile issue of unresolved external symbol for db methods
Mahesh1998 987746b
Fixed r3.mapcalc unresolved external symbol columns
Mahesh1998 cabbbfa
Fixed BuildPSO parameters parsing in windows
KandelN a6f16e1
Support for conda install openblas on Windows
HuidaeCho 8659d2e
Add grass_parson dependency to r.colors.out
HuidaeCho f25279d
Add grass_raster dependency for Rast_mask_is_present
HuidaeCho d26b3c7
Add find scripts for BLAS and LAPACK to support pkg-config openblas o…
HuidaeCho bb64610
Workaround (to be removed later once the MSVC NAN bugfix is released)…
HuidaeCho 7ef9235
Workaround (to be removed later once the MSVC NAN bugfix is released)…
HuidaeCho adebaed
Workaround (to be removed later once the MSVC NAN bugfix is released)…
HuidaeCho 16e367f
get rid of D9025 warning: overriding /openmp with /openmp:llvm on Win…
HuidaeCho 1976a58
Add missing HAVE_PCRE_H to config.h
HuidaeCho 7d862f0
Remove duplicate PCRE code
HuidaeCho 27e5a44
Remove unnecessary SOURCES cmake arguments; Add wrapper functions for…
HuidaeCho dc58fa4
Remove unnecessary SOURCES cmake arguments; Add wrapper functions for…
HuidaeCho 5dc0feb
Do not double free ls filter regex
HuidaeCho d7d0ead
Generate htmls after Python lib
HuidaeCho d2a58df
Fix large file support option; Support LFS for MSVC
HuidaeCho 724efad
Binary mode for file I/O on Windows
HuidaeCho ae76a10
Fix off_t error
HuidaeCho 2927cec
Remove non-existing files from r.colors.out
HuidaeCho 506d8fc
Add gjson.h
HuidaeCho 4b2574e
Move grass_parson above grass_raster (dependency)
HuidaeCho ca70035
Add grass_parson to r.describe
HuidaeCho 9f0fa23
Add LIBM to r.path
HuidaeCho 57081ea
if WITH_DOCS for r.li html
HuidaeCho a865adc
Add grass_parson to v.distance
HuidaeCho 47f707c
Add output directory to thumbnails.py
HuidaeCho 57787b1
Document generation
HuidaeCho 8b0d278
Update man/build_*.py arguments
HuidaeCho 1dbb915
Merge branch 'main' into cmake_build_work
HuidaeCho a18be5b
Restore lib/gis/asprintf.c
HuidaeCho c051ce7
Redefine lseek for MSVC from config.h only
HuidaeCho f82d596
Merge branch 'main' into cmake_build_work
HuidaeCho 804e0d5
Copyright block with author list (CMakeLists.txt and *.cmake only) in…
HuidaeCho 5174435
Restore ssize_t for raster/r.coin/format.c
HuidaeCho e56dfc1
Add newline at the end of msvc/strings.h
HuidaeCho f05e438
Remove #if 0 block from raster/r.sun/main.c; min()/max() not used at all
HuidaeCho 61a526f
r.mapcalc: Move columns to evaluate.c
HuidaeCho 8be66ad
Remove test for GDAL<2.3 (not supported now)
HuidaeCho 310c7e5
CI: update actions/cache to 4.2.1
nilason c63eb25
Apply clang-format
nilason 5a8f4ac
CI: update ubuntu and python; drop ccache
nilason f166534
CI: use dependencies from ubuntu workflow
nilason 0be5f83
use cblas and lapacke
nilason 2e2fc61
remove out-commented code
nilason 8525f5f
CI: some workflow file clean up, use Python 3.12 [skip ci]
nilason 94673f5
CI: avoid hardcoded arch version for cmake [skip ci]
nilason c3022d8
CI: fix typo [skip ci]
nilason d803b44
Rename SET_GISBASE to GISBASE
HuidaeCho e704ce2
Revert "Rename SET_GISBASE to GISBASE"
nilason 6171042
lib/ogsf: remove unchecked, unused OPENGL_GLU_FOUND and OpenGL_GLX_FOUND
nilason ddf59c7
HAVE_PQCMDTUPLES is not used in code
nilason 0e4f9e9
add INTERFACE_LINK_DIRECTORIES to CBLAS and LAPACKE targets [skip ci]
nilason b4da68b
rename SET_GISBASE to GISBASE_INSTALL_PATH [skip ci]
nilason 93f9ac9
lib/iostream: clean up includes in rtimer.cpp [skip ci]
nilason 154c187
back with HAVE_PNG_H [skip ci]
nilason ea0ebc4
lib/init: remove unused file env.sh and out-commented code [skip ci]
nilason 8cd6bd9
revert code changes to lib/gis/ls_filter.c
nilason 5760b07
use SPDX-License-Identifier [skip ci]
nilason dffd534
update authors [skip ci]
nilason f1be2fb
Replace GPL3 gettimeofday with MIT gettimeofday
HuidaeCho 6b0b006
CI: install cmake with pip
nilason e8cdaf7
CI: configure with WITH_GUI=OFF and WITH_DOCS=OFF
nilason 14f8c46
man: add TODO on target 'build_check' on wxPython dependency
nilason 2697787
don't install CHANGES
nilason 0d182ad
Initial attempt to replace msvc/unistd.h
HuidaeCho c8d6ab9
Clean up msvc/unistd.h
HuidaeCho 4e5dffc
Add some definitions to msvc/unistd.h
HuidaeCho 5ac7c02
add g.download.project module
nilason aa30773
Revert "CI: install cmake with pip"
nilason 5a4da84
use ubuntu python, add testreport
nilason 61581ad
add GDAL inc workaround
nilason 8cc3dc8
chmod
nilason 25a0759
Merge branch 'main' into cmake_build_work
HuidaeCho 4a3e47c
Merge branch 'main' into cmake_build_work
HuidaeCho 7d73112
Merge branch 'main' into cmake_build_work
HuidaeCho File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nilason How can we better support OpenBLAS? I cannot compile with BLAS and LAPACK using OpenBLAS on Linux.
FindBLAS
can find different libraries, but this change doesn't use it. Was this change to avoid a custom FindBLAS.cmake?https://cmake.org/cmake/help/latest/module/FindBLAS.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not forgot, I've planned an approach resembling the one we now have in configure.ac, but it is a bit tricky one so I left it for later (reached out for the lower hanging fruits first). Meanwhile I suggest to configure with
-DWITH_CBLAS=OFF -DWITH_LAPACKE=OFF
– only a very small part of GRASS code actually uses these.The FindBLAS and FindLAPACK are not looking for what we really need:
CBLAS
andLAPACKE
, which are the C interfaces to CBLAS and LAPACK. Incidentally OpenBLAS includes CBLAS and LAPACKE too, which is why it FindBLAS and FindLAPACK works with OpenBLAS.