[jira] [Commented] (ARROW-16751) [C++] Unify target include directories

2022-06-15 Thread Yibo Cai (Jira)


[ 
https://issues.apache.org/jira/browse/ARROW-16751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17554854#comment-17554854
 ] 

Yibo Cai commented on ARROW-16751:
--

I tried cmake 3.5. Looks Arrow itself is okay with cmake-3.5 (except the ucx 
target mentioned in this card). But many third party tools need newer cmake 
versions, e.g. googletest, grpc.

> [C++] Unify target include directories
> --
>
> Key: ARROW-16751
> URL: https://issues.apache.org/jira/browse/ARROW-16751
> Project: Apache Arrow
>  Issue Type: Improvement
>  Components: C++
>Reporter: Yibo Cai
>Priority: Major
> Fix For: 9.0.0
>
>
> Context: [https://github.com/apache/arrow/pull/13244#discussion_r889780669]
> {{target_include_directories()}} in cmake 3.10 or earlier doesn't support 
> {{INTERFACE}} against {{IMPORTED}} target, so we have to check cmake version 
> like below:
> {code:java}
> if(CMAKE_VERSION VERSION_LESS 3.11)
>   set_target_properties(xsimd PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
>  "${XSIMD_INCLUDE_DIR}")
> else()
>   target_include_directories(xsimd INTERFACE "${XSIMD_INCLUDE_DIR}")
> endif()
> {code}
> Above code is duplicated for some targets. There are also some targets (e.g. 
> ucx::ucx) missed the check.
> We can add a function 
> {{arrow_imported_target_interface_include_directories()}} to make it simpler.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (ARROW-16751) [C++] Unify target include directories

2022-06-10 Thread Jacob Wujciak-Jens (Jira)


[ 
https://issues.apache.org/jira/browse/ARROW-16751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17552718#comment-17552718
 ] 

Jacob Wujciak-Jens commented on ARROW-16751:


+1 for bumping the minimum since 3.5 a lot of [useful 
functionality|https://cliutils.gitlab.io/modern-cmake/chapters/intro/newcmake.html]
 was introduced.

Side note: do we have CI jobs that use 3.5 to make sure that we are actually 
supporting it?

> [C++] Unify target include directories
> --
>
> Key: ARROW-16751
> URL: https://issues.apache.org/jira/browse/ARROW-16751
> Project: Apache Arrow
>  Issue Type: Improvement
>  Components: C++
>Reporter: Yibo Cai
>Priority: Major
> Fix For: 9.0.0
>
>
> Context: [https://github.com/apache/arrow/pull/13244#discussion_r889780669]
> {{target_include_directories()}} in cmake 3.10 or earlier doesn't support 
> {{INTERFACE}} against {{IMPORTED}} target, so we have to check cmake version 
> like below:
> {code:java}
> if(CMAKE_VERSION VERSION_LESS 3.11)
>   set_target_properties(xsimd PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
>  "${XSIMD_INCLUDE_DIR}")
> else()
>   target_include_directories(xsimd INTERFACE "${XSIMD_INCLUDE_DIR}")
> endif()
> {code}
> Above code is duplicated for some targets. There are also some targets (e.g. 
> ucx::ucx) missed the check.
> We can add a function 
> {{arrow_imported_target_interface_include_directories()}} to make it simpler.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (ARROW-16751) [C++] Unify target include directories

2022-06-06 Thread Kouhei Sutou (Jira)


[ 
https://issues.apache.org/jira/browse/ARROW-16751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17550659#comment-17550659
 ] 

Kouhei Sutou commented on ARROW-16751:
--

I think that we can require CMake 3.16 or later when Ubuntu 18.04 LTS stops 
security update (April 2023, see also: https://wiki.ubuntu.com/Releases ) 
because Ubuntu 20.04 LTS ships 3.16 and EPEL for CentOS 7 provides CMake 3.17.

> [C++] Unify target include directories
> --
>
> Key: ARROW-16751
> URL: https://issues.apache.org/jira/browse/ARROW-16751
> Project: Apache Arrow
>  Issue Type: Improvement
>  Components: C++
>Reporter: Yibo Cai
>Priority: Major
> Fix For: 9.0.0
>
>
> Context: [https://github.com/apache/arrow/pull/13244#discussion_r889780669]
> {{target_include_directories()}} in cmake 3.10 or earlier doesn't support 
> {{INTERFACE}} against {{IMPORTED}} target, so we have to check cmake version 
> like below:
> {code:java}
> if(CMAKE_VERSION VERSION_LESS 3.11)
>   set_target_properties(xsimd PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
>  "${XSIMD_INCLUDE_DIR}")
> else()
>   target_include_directories(xsimd INTERFACE "${XSIMD_INCLUDE_DIR}")
> endif()
> {code}
> Above code is duplicated for some targets. There are also some targets (e.g. 
> ucx::ucx) missed the check.
> We can add a function 
> {{arrow_imported_target_interface_include_directories()}} to make it simpler.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (ARROW-16751) [C++] Unify target include directories

2022-06-06 Thread Antoine Pitrou (Jira)


[ 
https://issues.apache.org/jira/browse/ARROW-16751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17550360#comment-17550360
 ] 

Antoine Pitrou commented on ARROW-16751:


We should also give some thought to bumping up the minimum CMake version.
For example Ubuntu 18.04 has CMake 3.10.2, while 20.04 has 3.16.3.

[~kou] What do you think?

> [C++] Unify target include directories
> --
>
> Key: ARROW-16751
> URL: https://issues.apache.org/jira/browse/ARROW-16751
> Project: Apache Arrow
>  Issue Type: Improvement
>  Components: C++
>Reporter: Yibo Cai
>Priority: Major
> Fix For: 9.0.0
>
>
> Context: [https://github.com/apache/arrow/pull/13244#discussion_r889780669]
> {{target_include_directories()}} in cmake 3.10 or earlier doesn't support 
> {{INTERFACE}} against {{IMPORTED}} target, so we have to check cmake version 
> like below:
> {code:java}
> if(CMAKE_VERSION VERSION_LESS 3.11)
>   set_target_properties(xsimd PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
>  "${XSIMD_INCLUDE_DIR}")
> else()
>   target_include_directories(xsimd INTERFACE "${XSIMD_INCLUDE_DIR}")
> endif()
> {code}
> Above code is duplicated for some targets. There are also some targets (e.g. 
> ucx::ucx) missed the check.
> We can add a function 
> {{arrow_imported_target_interface_include_directories()}} to make it simpler.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)