Skip to content

Commit b0bca99

Browse files
author
Anton
authored
Merge pull request ghaerr#3 from aggeom/feature/cmake-unix-fix
unix fixes, add linux github action
2 parents 2b9cbc6 + 7dbeca5 commit b0bca99

File tree

11 files changed

+84
-177
lines changed

11 files changed

+84
-177
lines changed

.github/workflows/ci-cmake.yml

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,56 @@ jobs:
4141
mkdir ${{github.workspace}}/build
4242
conan install . --build=missing -pr:b=default -if ${{github.workspace}}/build
4343
- name: Configure CMake
44-
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DCMAKE_PREFIX_PATH:PATH=${{github.workspace}}/build -Dagg_USE_AGG2D:BOOL=ON -Dagg_USE_AGG2D_FREETYPE:BOOL=ON -Dagg_USE_EXPAT:BOOL=ON -Dagg_USE_FREETYPE:BOOL=ON -Dagg_USE_GPC:BOOL=ON -B "${{github.workspace}}/build" .
44+
run: >-
45+
cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}"
46+
-DCMAKE_PREFIX_PATH:PATH=${{github.workspace}}/build
47+
-DCMAKE_MODULE_PATH:PATH=${{github.workspace}}/build
48+
-Dagg_BUILD_CONTROLS:BOOL=ON
49+
-Dagg_BUILD_DEMO:BOOL=ON
50+
-Dagg_BUILD_EXAMPLES:BOOL=ON
51+
-Dagg_BUILD_PLATFORM:BOOL=ON
52+
-Dagg_USE_AGG2D:BOOL=ON
53+
-Dagg_USE_AGG2D_FREETYPE:BOOL=ON
54+
-Dagg_USE_EXPAT:BOOL=ON
55+
-Dagg_USE_FREETYPE:BOOL=ON
56+
-Dagg_USE_GPC:BOOL=ON
57+
-B "${{github.workspace}}/build" .
58+
59+
- name: Build
60+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
61+
GCC:
62+
runs-on: ubuntu-22.04
63+
name: ubuntu-22.04
64+
strategy:
65+
fail-fast: false
66+
matrix:
67+
os: [ubuntu-22.04]
68+
69+
70+
steps:
71+
- name: Checkout
72+
uses: actions/checkout@v3
73+
with:
74+
fetch-depth: 0
75+
76+
- name: Install packages
77+
run: |
78+
sudo apt-get install -y gcc g++ cmake wget git libsdl1.2-dev libfreetype-dev libexpat1-dev
79+
80+
- name: Configure CMake
81+
run: >-
82+
cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}"
83+
-Dagg_BUILD_CONTROLS:BOOL=ON
84+
-Dagg_BUILD_DEMO:BOOL=ON
85+
-Dagg_BUILD_EXAMPLES:BOOL=ON
86+
-Dagg_BUILD_PLATFORM:BOOL=ON
87+
-Dagg_USE_AGG2D:BOOL=ON
88+
-Dagg_USE_AGG2D_FREETYPE:BOOL=ON
89+
-Dagg_USE_EXPAT:BOOL=ON
90+
-Dagg_USE_FREETYPE:BOOL=ON
91+
-Dagg_USE_GPC:BOOL=ON
92+
-Dagg_USE_SDL_PLATFORM:BOOL=ON
93+
-B "${{github.workspace}}/build" .
4594
4695
- name: Build
4796
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

CMakeLists.txt

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PROJECT( antigrain )
22

3-
CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
3+
CMAKE_MINIMUM_REQUIRED( VERSION 3.13 )
44

55
SET(AGG_MAJOR_VERSION 0 )
66
SET(AGG_MINOR_VERSION 1 )
@@ -12,18 +12,31 @@ OPTION( agg_USE_EXPAT "Use Expat library" OFF)
1212
OPTION( agg_USE_SDL_PLATFORM "Use SDL as platform" OFF)
1313
OPTION( agg_USE_PACK "Package Agg" OFF)
1414
OPTION( agg_USE_AGG2D "Agg 2D graphical context" OFF)
15-
OPTION( agg_BUILD_EXAMPLES "Build the AGG examples" ON)
16-
OPTION( agg_BUILD_DEMO "Build the AGG demo" ON)
15+
OPTION( agg_USE_AGG2D_FREETYPE "Agg 2D graphical context uses freetype" OFF)
16+
OPTION( agg_BUILD_EXAMPLES "Build the AGG examples" OFF)
17+
OPTION( agg_BUILD_DEMO "Build the AGG demo" OFF)
1718
OPTION( agg_BUILD_PLATFORM "Build the AGG platform helper" ON)
1819
OPTION( agg_BUILD_CONTROLS "Build the AGG controls" ON)
1920

20-
SET (antigrain_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
21-
IF( agg_BUILD_DEMO OR agg_BUILD_EXAMPLES )
22-
MESSAGE(STATUS "Force enable the platform and controls helper due to Demo / Example being build.")
23-
SET( agg_BUILD_PLATFORM ON CACHE BOOL "Build the AGG platform helper" FORCE)
24-
SET( agg_BUILD_CONTROLS ON CACHE BOOL "Build the AGG controls" FORCE)
21+
IF ( UNIX )
22+
IF ( agg_USE_AGG2D )
23+
IF ( NOT agg_USE_AGG2D_FREETYPE )
24+
MESSAGE( FATAL_ERROR "agg_USE_AGG2D_FREETYPE must be enabled" )
25+
ENDIF( NOT agg_USE_AGG2D_FREETYPE )
26+
ENDIF( agg_USE_AGG2D )
27+
ENDIF(UNIX)
28+
29+
IF ( agg_BUILD_DEMO OR agg_BUILD_EXAMPLES )
30+
IF ( NOT agg_BUILD_PLATFORM )
31+
MESSAGE( FATAL_ERROR "agg_BUILD_PLATFORM must be enabled" )
32+
ENDIF( NOT agg_BUILD_PLATFORM )
33+
IF ( NOT agg_BUILD_CONTROLS )
34+
MESSAGE( FATAL_ERROR "agg_BUILD_CONTROLS must be enabled" )
35+
ENDIF( NOT agg_BUILD_CONTROLS )
2536
ENDIF( agg_BUILD_DEMO OR agg_BUILD_EXAMPLES )
2637

38+
SET (antigrain_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
39+
2740
# for the moment this decides the platform code.
2841
IF(WIN32)
2942
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE )
@@ -32,13 +45,6 @@ ENDIF(WIN32)
3245

3346
IF(UNIX)
3447
SET( WIN32GUI "" )
35-
36-
FIND_PACKAGE(X11)
37-
IF(X11_FOUND)
38-
INCLUDE_DIRECTORIES(${X11_INCLUDE_DIRS})
39-
LINK_LIBRARIES(${X11_LIBRARIES})
40-
ENDIF(X11_FOUND)
41-
4248
ENDIF(UNIX)
4349

4450

bin/FindEXPAT.cmake

Lines changed: 0 additions & 38 deletions
This file was deleted.

bin/FindFreetype.cmake

Lines changed: 0 additions & 98 deletions
This file was deleted.

font_freetype/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
PROJECT( freetypefont )
22

3-
CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
3+
CMAKE_MINIMUM_REQUIRED( VERSION 3.13 )
44

5-
FIND_PACKAGE( Freetype CONFIG REQUIRED )
5+
FIND_PACKAGE( Freetype REQUIRED )
66

77
ADD_LIBRARY( ${PROJECT_NAME} STATIC
88
agg_font_freetype.h
99
agg_font_freetype.cpp)
1010

1111
TARGET_INCLUDE_DIRECTORIES( ${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} )
12-
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PUBLIC freetype antigrain )
12+
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PUBLIC Freetype::Freetype antigrain )
1313
TARGET_COMPILE_DEFINITIONS( ${PROJECT_NAME} PUBLIC AGG_USE_FREETYPE )
1414

1515
ADD_LIBRARY( antigrain::freetypefont ALIAS ${PROJECT_NAME} )

gpc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PROJECT( gpcbool )
22

3-
CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
3+
CMAKE_MINIMUM_REQUIRED( VERSION 3.13 )
44

55
# boolean operations library GPC
66

myapp/CMakeLists.txt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PROJECT( MyAggApp )
22

33

4-
CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
4+
CMAKE_MINIMUM_REQUIRED( VERSION 3.13 )
55

66

77
ADD_EXECUTABLE( my_demo ${WIN32GUI}
@@ -26,12 +26,4 @@ ENDIF(WIN32)
2626
IF(UNIX)
2727
SET( WIN32GUI "" )
2828

29-
FIND_PACKAGE(X11)
30-
IF(X11_FOUND)
31-
TARGET_INCLUDE_DIRECTORIES( agg2d_demo ${X11_INCLUDE_DIRS})
32-
TARGET_LINK_LIBRARIES( agg2d_demo ${X11_LIBRARIES})
33-
TARGET_INCLUDE_DIRECTORIES( my_demo ${X11_INCLUDE_DIRS})
34-
TARGET_LINK_LIBRARIES( my_demo ${X11_LIBRARIES})
35-
ENDIF(X11_FOUND)
36-
3729
ENDIF(UNIX)

myapp/myproject.cmake

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@ CONFIGURE_FILE(${antigrain_SOURCE_DIR}/bin/FindAgg.cmake
88
${antigrain_BINARY_DIR}/myapp/FindAgg.cmake
99
@ONLY )
1010

11-
CONFIGURE_FILE(${antigrain_SOURCE_DIR}/bin/FindEXPAT.cmake
12-
${antigrain_BINARY_DIR}/myapp/FindExpat.cmake
13-
@ONLY )
14-
15-
CONFIGURE_FILE(${antigrain_SOURCE_DIR}/bin/FindFreetype.cmake
16-
${antigrain_BINARY_DIR}/myapp/FindFreetype.cmake
17-
@ONLY )
18-
1911
CONFIGURE_FILE(${antigrain_SOURCE_DIR}/myapp/CMakeLists.txt.in
2012
${antigrain_BINARY_DIR}/myapp/CMakeLists.txt
2113
@ONLY )

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ ENDIF( agg_BUILD_PLATFORM )
193193

194194
IF ( agg_USE_AGG2D )
195195

196-
OPTION( agg_USE_AGG2D_FREETYPE "Agg 2D graphical context uses freetype" OFF)
196+
197197

198198
ADD_LIBRARY( agg2d STATIC
199199
../agg2d/agg2d.cpp

src/ctrl/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PROJECT( controls )
22

3-
CMAKE_MINIMUM_REQUIRED( VERSION 3.0 )
3+
CMAKE_MINIMUM_REQUIRED( VERSION 3.13 )
44

55

66
SET( controls_HEADERS

0 commit comments

Comments
 (0)