-
Notifications
You must be signed in to change notification settings - Fork 39
Libraries API
Libraries can be manually added using the add_arduino_library
function. It accepts the following parameters:
Order | Name | Description | Required? |
---|---|---|---|
1st | _target_name | Library's target name as it will be registered by CMake. | Yes |
2nd | _board_id | Hardware Board's ID as retrieved by the get_board_id function. |
Yes |
- | _sources | List of source files to include in the library target. | No |
Header-Only libraries can be manually added using the add_arduino_header_only_library
function. It accepts the same parameters as the add_arduino_library
function.
Libraries can be found using the find_arduino_library
function. It accepts the following parameters:
Order | Name | Description | Required? |
---|---|---|---|
1st | _target_name | Library's target name as it will be registered by CMake. | Yes |
2nd | _library_name | Name of the library to search for. This is actually the name of the library's root directory. Name can be case-insensitive when searching Built-in Libraries, must be case-sensitive when searching 3rd Party libraries. | Yes |
3rd | _board_id | Hardware Board's ID as retrieved by the get_board_id function. |
Yes |
- | 3RD_PARTY | Whether the searched library should be treated as a 3rd Party library | No |
- | HEADER_ONLY | Whether the searched library should be treated as a header-only library | No |
- | QUIET | Whether the function should fail silently in case of an error | No |
Libraries can be linked to a target using the link_arduino_library
function. It accepts the following parameters:
Order | Name | Description | Required? |
---|---|---|---|
1st | _target_name | Name of the target to link to, usually an executable created with add_arduino_executable
|
Yes |
2nd | _library_target_name | Name of a library target. If it's an Arduino Library, it's the name found earlier with find_arduino_library . Otherwise, it's the target created with CMake's add_library . |
Yes |
3rd | _board_id | Hardware Board's ID as retrieved by the get_board_id function. |
Yes |
- | HEADER_ONLY | Whether the linked library should be treated as a header-only library | NO |
Platform libraries such as SPI, Wire, etc. have a separate function for linking them to a target.
This function is named link_platform_library
and accepts the following parameters:
Libraries can be linked to a target using the link_arduino_library
function. It accepts the following parameters:
Order | Name | Description | Required? |
---|---|---|---|
1st | _target_name | Name of the target to link to, usually an executable created with add_arduino_executable
|
Yes |
2nd | _platform_library_name | Name of a platform library. | Yes |
3rd | _board_id | Hardware Board's ID as retrieved by the get_board_id function. |
Yes |
- | HEADER_ONLY | Whether the linked library should be treated as a header-only library | NO |